mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-18 14:30:10 +00:00
增加SerieSymbol关于显示间隔的相关配置
This commit is contained in:
@@ -19,6 +19,7 @@ namespace XCharts
|
||||
var count = serie.dataPoints.Count;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
if (!serie.symbol.ShowSymbol(i, count)) continue;
|
||||
if (serie.lineArrow.show)
|
||||
{
|
||||
if (serie.lineArrow.position == LineArrow.Position.Start && i == 0) continue;
|
||||
|
||||
@@ -82,79 +82,85 @@ namespace XCharts
|
||||
[SerializeField] private SymbolSizeCallback m_SelectedSizeCallback;
|
||||
[SerializeField] private Color m_Color;
|
||||
[SerializeField] [Range(0, 1)] private float m_Opacity = 1;
|
||||
[SerializeField] private int m_StartIndex;
|
||||
[SerializeField] private int m_Interval;
|
||||
[SerializeField] private bool m_ForceShowLast = false;
|
||||
|
||||
/// <summary>
|
||||
/// the type of symbol.
|
||||
/// 标记类型。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public SerieSymbolType type { get { return m_Type; } set { m_Type = value; } }
|
||||
/// <summary>
|
||||
/// the type of symbol size.
|
||||
/// 标记图形的大小获取方式。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public SerieSymbolSizeType sizeType { get { return m_SizeType; } set { m_SizeType = value; } }
|
||||
/// <summary>
|
||||
/// the size of symbol.
|
||||
/// 标记的大小。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public float size { get { return m_Size; } set { m_Size = value; } }
|
||||
/// <summary>
|
||||
/// the size of selected symbol.
|
||||
/// 被选中的标记的大小。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public float selectedSize { get { return m_SelectedSize; } set { m_SelectedSize = value; } }
|
||||
/// <summary>
|
||||
/// whitch data index is when the sizeType assined as FromData.
|
||||
/// 当sizeType指定为FromData时,指定的数据源索引。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public int dataIndex { get { return m_DataIndex; } set { m_DataIndex = value; } }
|
||||
/// <summary>
|
||||
/// the scale of data when sizeType assined as FromData.
|
||||
/// 当sizeType指定为FromData时,指定的倍数系数。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public float dataScale { get { return m_DataScale; } set { m_DataScale = value; } }
|
||||
/// <summary>
|
||||
/// the scale of selected data when sizeType assined as FromData.
|
||||
/// 当sizeType指定为FromData时,指定的高亮倍数系数。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public float selectedDataScale { get { return m_SelectedDataScale; } set { m_SelectedDataScale = value; } }
|
||||
/// <summary>
|
||||
/// the callback of size when sizeType assined as Callback.
|
||||
/// 当sizeType指定为Callback时,指定的回调函数。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public SymbolSizeCallback sizeCallback { get { return m_SizeCallback; } set { m_SizeCallback = value; } }
|
||||
/// <summary>
|
||||
/// the callback of size when sizeType assined as Callback.
|
||||
/// 当sizeType指定为Callback时,指定的高亮回调函数。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public SymbolSizeCallback selectedSizeCallback { get { return m_SelectedSizeCallback; } set { m_SelectedSizeCallback = value; } }
|
||||
/// <summary>
|
||||
/// the color of symbol,default from serie.
|
||||
/// 标记图形的颜色,默认和系列一致。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public Color color { get { return m_Color; } set { m_Color = value; } }
|
||||
/// <summary>
|
||||
/// the opacity of color.
|
||||
/// 图形标记的透明度。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public float opacity { get { return m_Opacity; } set { m_Opacity = value; } }
|
||||
/// <summary>
|
||||
/// the index start to show symbol.
|
||||
/// 开始显示图形标记的索引。
|
||||
/// </summary>
|
||||
public int startIndex { get { return m_StartIndex; } set { m_StartIndex = value; } }
|
||||
/// <summary>
|
||||
/// the interval of show symbol.
|
||||
/// 显示图形标记的间隔。0表示显示所有标签,1表示隔一个隔显示一个标签,以此类推。
|
||||
/// </summary>
|
||||
public int interval { get { return m_Interval; } set { m_Interval = value; } }
|
||||
/// <summary>
|
||||
/// whether to show the last symbol.
|
||||
/// 是否强制显示最后一个图形标记。
|
||||
/// </summary>
|
||||
public bool forceShowLast { get { return m_ForceShowLast; } set { m_ForceShowLast = value; } }
|
||||
private List<float> m_AnimationSize = new List<float>() { 0, 5, 10 };
|
||||
/// <summary>
|
||||
/// the setting for effect scatter.
|
||||
/// 带有涟漪特效动画的散点图的动画参数。
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
public List<float> animationSize { get { return m_AnimationSize; } }
|
||||
|
||||
/// <summary>
|
||||
@@ -212,5 +218,14 @@ namespace XCharts
|
||||
default: return selectedSize;
|
||||
}
|
||||
}
|
||||
|
||||
public bool ShowSymbol(int dataIndex, int dataCount)
|
||||
{
|
||||
if (type == SerieSymbolType.None) return false;
|
||||
if (dataIndex < startIndex) return false;
|
||||
if (m_Interval <= 0) return true;
|
||||
if (m_ForceShowLast && dataIndex == dataCount - 1) return true;
|
||||
return (dataIndex - startIndex) % (m_Interval + 1) == 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user