mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-27 03:10:11 +00:00
增加SerieData的ignore可忽略当前数据项
This commit is contained in:
@@ -34,6 +34,7 @@
|
|||||||
|
|
||||||
## Latest
|
## Latest
|
||||||
|
|
||||||
|
* (2021.04.28) 增加`SerieData`的`ignore`可忽略当前数据项
|
||||||
* (2021.04.28) 修复`DataZoom`下`AxisLabel`显示不准确的问题 #138
|
* (2021.04.28) 修复`DataZoom`下`AxisLabel`显示不准确的问题 #138
|
||||||
* (2021.04.26) 修复运行时动态创建图表会异常的问题 #137
|
* (2021.04.26) 修复运行时动态创建图表会异常的问题 #137
|
||||||
* (2021.04.26) 增加`BarChart`绘制渐变边框的支持
|
* (2021.04.26) 增加`BarChart`绘制渐变边框的支持
|
||||||
|
|||||||
@@ -393,6 +393,7 @@ namespace XCharts
|
|||||||
if (showDetail)
|
if (showDetail)
|
||||||
{
|
{
|
||||||
EditorGUI.indentLevel += 2;
|
EditorGUI.indentLevel += 2;
|
||||||
|
var m_Ignore = serieData.FindPropertyRelative("m_Ignore");
|
||||||
var m_Icon = serieData.FindPropertyRelative("m_IconStyle");
|
var m_Icon = serieData.FindPropertyRelative("m_IconStyle");
|
||||||
var m_EnableLabel = serieData.FindPropertyRelative("m_EnableLabel");
|
var m_EnableLabel = serieData.FindPropertyRelative("m_EnableLabel");
|
||||||
var m_Label = serieData.FindPropertyRelative("m_Label");
|
var m_Label = serieData.FindPropertyRelative("m_Label");
|
||||||
@@ -402,6 +403,8 @@ namespace XCharts
|
|||||||
var m_Emphasis = serieData.FindPropertyRelative("m_Emphasis");
|
var m_Emphasis = serieData.FindPropertyRelative("m_Emphasis");
|
||||||
var m_EnableSymbol = serieData.FindPropertyRelative("m_EnableSymbol");
|
var m_EnableSymbol = serieData.FindPropertyRelative("m_EnableSymbol");
|
||||||
var m_Symbol = serieData.FindPropertyRelative("m_Symbol");
|
var m_Symbol = serieData.FindPropertyRelative("m_Symbol");
|
||||||
|
EditorGUI.PropertyField(drawRect, m_Ignore);
|
||||||
|
AddHeight(EditorGUI.GetPropertyHeight(m_Ignore));
|
||||||
EditorGUI.PropertyField(drawRect, m_Icon);
|
EditorGUI.PropertyField(drawRect, m_Icon);
|
||||||
AddHeight(EditorGUI.GetPropertyHeight(m_Icon));
|
AddHeight(EditorGUI.GetPropertyHeight(m_Icon));
|
||||||
EditorGUI.PropertyField(drawRect, m_Symbol);
|
EditorGUI.PropertyField(drawRect, m_Symbol);
|
||||||
|
|||||||
@@ -1704,19 +1704,22 @@ namespace XCharts
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsIgnoreIndex(int index, int dimension)
|
public bool IsIgnoreIndex(int index, int dimension = 1)
|
||||||
{
|
{
|
||||||
if (m_Ignore)
|
var serieData = GetSerieData(index);
|
||||||
|
if (serieData != null)
|
||||||
{
|
{
|
||||||
var serieData = GetSerieData(index);
|
return IsIgnoreValue(serieData, dimension);
|
||||||
if (serieData != null)
|
|
||||||
{
|
|
||||||
return IsIgnoreValue(serieData.GetData(dimension));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IsIgnoreValue(SerieData serieData, int dimension = 1)
|
||||||
|
{
|
||||||
|
if (serieData.ignore) return true;
|
||||||
|
return IsIgnoreValue(serieData.GetData(dimension));
|
||||||
|
}
|
||||||
|
|
||||||
public bool IsIgnoreValue(float value)
|
public bool IsIgnoreValue(float value)
|
||||||
{
|
{
|
||||||
return m_Ignore && Mathf.Approximately(value, m_IgnoreValue);
|
return m_Ignore && Mathf.Approximately(value, m_IgnoreValue);
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
[SerializeField] private string m_Name;
|
[SerializeField] private string m_Name;
|
||||||
[SerializeField] private bool m_Selected;
|
[SerializeField] private bool m_Selected;
|
||||||
|
[SerializeField] private bool m_Ignore = false;
|
||||||
[SerializeField] private float m_Radius;
|
[SerializeField] private float m_Radius;
|
||||||
[SerializeField] private IconStyle m_IconStyle = new IconStyle();
|
[SerializeField] private IconStyle m_IconStyle = new IconStyle();
|
||||||
[SerializeField] private bool m_EnableLabel = false;
|
[SerializeField] private bool m_EnableLabel = false;
|
||||||
@@ -94,6 +95,14 @@ namespace XCharts
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public SerieSymbol symbol { get { return m_Symbol; } set { m_Symbol = value; } }
|
public SerieSymbol symbol { get { return m_Symbol; } set { m_Symbol = value; } }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// 是否忽略数据。当为 true 时,数据不进行绘制。
|
||||||
|
/// </summary>
|
||||||
|
public bool ignore
|
||||||
|
{
|
||||||
|
get { return m_Ignore; }
|
||||||
|
set { if (PropertyUtil.SetStruct(ref m_Ignore, value)) SetVerticesDirty(); }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
/// An arbitrary dimension data list of data item.
|
/// An arbitrary dimension data list of data item.
|
||||||
/// 可指定任意维数的数值列表。
|
/// 可指定任意维数的数值列表。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ namespace XCharts
|
|||||||
|
|
||||||
public static bool CanShowLabel(Serie serie, SerieData serieData, SerieLabel label, int dimesion)
|
public static bool CanShowLabel(Serie serie, SerieData serieData, SerieLabel label, int dimesion)
|
||||||
{
|
{
|
||||||
return serie.show && serieData.canShowLabel && !serie.IsIgnoreValue(serieData.GetData(dimesion));
|
return serie.show && serieData.canShowLabel && !serie.IsIgnoreValue(serieData, dimesion);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string GetFormatterContent(Serie serie, SerieData serieData,
|
public static string GetFormatterContent(Serie serie, SerieData serieData,
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ namespace XCharts
|
|||||||
case SerieType.Ring:
|
case SerieType.Ring:
|
||||||
for (int i = 0; i < serie.data.Count; i++)
|
for (int i = 0; i < serie.data.Count; i++)
|
||||||
{
|
{
|
||||||
if (serie.type == SerieType.Pie && serie.IsIgnoreValue(serie.data[i].GetData(1))) continue;
|
if (serie.type == SerieType.Pie && serie.IsIgnoreValue(serie.data[i])) continue;
|
||||||
if (string.IsNullOrEmpty(serie.data[i].name))
|
if (string.IsNullOrEmpty(serie.data[i].name))
|
||||||
serieNameList.Add(ChartCached.IntToStr(i));
|
serieNameList.Add(ChartCached.IntToStr(i));
|
||||||
else if (!serieNameList.Contains(serie.data[i].name))
|
else if (!serieNameList.Contains(serie.data[i].name))
|
||||||
|
|||||||
@@ -1684,7 +1684,7 @@ namespace XCharts
|
|||||||
var pos = serie.dataPoints[j];
|
var pos = serie.dataPoints[j];
|
||||||
var serieLabel = SerieHelper.GetSerieLabel(serie, serieData);
|
var serieLabel = SerieHelper.GetSerieLabel(serie, serieData);
|
||||||
var dimension = 1;
|
var dimension = 1;
|
||||||
var isIgnore = serie.IsIgnoreIndex(j, 1);
|
var isIgnore = serie.IsIgnoreIndex(j);
|
||||||
serieData.labelObject.SetPosition(serieData.labelPosition);
|
serieData.labelObject.SetPosition(serieData.labelPosition);
|
||||||
serieData.labelObject.UpdateIcon(serieData.iconStyle);
|
serieData.labelObject.UpdateIcon(serieData.iconStyle);
|
||||||
if (serie.show && serieLabel.show && serieData.canShowLabel && !isIgnore)
|
if (serie.show && serieLabel.show && serieData.canShowLabel && !isIgnore)
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ namespace XCharts
|
|||||||
for (int i = serie.minShow; i < maxCount; i++)
|
for (int i = serie.minShow; i < maxCount; i++)
|
||||||
{
|
{
|
||||||
var serieData = showData[i];
|
var serieData = showData[i];
|
||||||
if (serie.IsIgnoreValue(serieData.GetData(1)))
|
if (serie.IsIgnoreValue(serieData))
|
||||||
{
|
{
|
||||||
serie.dataPoints.Add(Vector3.zero);
|
serie.dataPoints.Add(Vector3.zero);
|
||||||
continue;
|
continue;
|
||||||
@@ -185,7 +185,7 @@ namespace XCharts
|
|||||||
for (int i = serie.minShow; i < maxCount; i++)
|
for (int i = serie.minShow; i < maxCount; i++)
|
||||||
{
|
{
|
||||||
var serieData = showData[i];
|
var serieData = showData[i];
|
||||||
if (serie.IsIgnoreValue(serieData.GetData(1)))
|
if (serie.IsIgnoreValue(serieData))
|
||||||
{
|
{
|
||||||
serie.dataPoints.Add(Vector3.zero);
|
serie.dataPoints.Add(Vector3.zero);
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace XCharts
|
|||||||
for (int i = serie.minShow; i < maxCount; i++)
|
for (int i = serie.minShow; i < maxCount; i++)
|
||||||
{
|
{
|
||||||
var serieData = showData[i];
|
var serieData = showData[i];
|
||||||
if (serie.IsIgnoreValue(serieData.GetData(1)))
|
if (serie.IsIgnoreValue(serieData))
|
||||||
{
|
{
|
||||||
serie.dataPoints.Add(Vector3.zero);
|
serie.dataPoints.Add(Vector3.zero);
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ namespace XCharts
|
|||||||
for (i = serie.minShow; i < maxCount; i += rate)
|
for (i = serie.minShow; i < maxCount; i += rate)
|
||||||
{
|
{
|
||||||
if (i == maxCount - 1) includeLastData = true;
|
if (i == maxCount - 1) includeLastData = true;
|
||||||
if (serie.IsIgnoreValue(showData[i].GetData(1)))
|
if (serie.IsIgnoreValue(showData[i]))
|
||||||
{
|
{
|
||||||
serie.dataPoints.Add(Vector3.zero);
|
serie.dataPoints.Add(Vector3.zero);
|
||||||
showData[i].runtimeStackHig = 0;
|
showData[i].runtimeStackHig = 0;
|
||||||
@@ -146,7 +146,7 @@ namespace XCharts
|
|||||||
if (!includeLastData)
|
if (!includeLastData)
|
||||||
{
|
{
|
||||||
i = maxCount - 1;
|
i = maxCount - 1;
|
||||||
if (serie.IsIgnoreValue(showData[i].GetData(1)))
|
if (serie.IsIgnoreValue(showData[i]))
|
||||||
{
|
{
|
||||||
serie.dataPoints.Add(Vector3.zero);
|
serie.dataPoints.Add(Vector3.zero);
|
||||||
showData[i].runtimeStackHig = 0;
|
showData[i].runtimeStackHig = 0;
|
||||||
@@ -179,7 +179,7 @@ namespace XCharts
|
|||||||
if (serie.minShow > 0 && serie.minShow < showData.Count)
|
if (serie.minShow > 0 && serie.minShow < showData.Count)
|
||||||
{
|
{
|
||||||
i = serie.minShow - 1;
|
i = serie.minShow - 1;
|
||||||
if (serie.IsIgnoreValue(showData[i].GetData(1)))
|
if (serie.IsIgnoreValue(showData[i]))
|
||||||
{
|
{
|
||||||
serie.dataPoints.Add(Vector3.zero);
|
serie.dataPoints.Add(Vector3.zero);
|
||||||
showData[i].runtimeStackHig = 0;
|
showData[i].runtimeStackHig = 0;
|
||||||
@@ -197,7 +197,7 @@ namespace XCharts
|
|||||||
if (serie.maxShow > 0 && serie.maxShow < showData.Count)
|
if (serie.maxShow > 0 && serie.maxShow < showData.Count)
|
||||||
{
|
{
|
||||||
i = serie.maxShow;
|
i = serie.maxShow;
|
||||||
if (serie.IsIgnoreValue(showData[i].GetData(1)))
|
if (serie.IsIgnoreValue(showData[i]))
|
||||||
{
|
{
|
||||||
serie.dataPoints.Add(Vector3.zero);
|
serie.dataPoints.Add(Vector3.zero);
|
||||||
showData[i].runtimeStackHig = 0;
|
showData[i].runtimeStackHig = 0;
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ namespace XCharts
|
|||||||
for (int n = 0; n < data.Count; n++)
|
for (int n = 0; n < data.Count; n++)
|
||||||
{
|
{
|
||||||
var serieData = data[n];
|
var serieData = data[n];
|
||||||
if (!serieData.canShowLabel || serie.IsIgnoreValue(serieData.GetData(1)))
|
if (!serieData.canShowLabel || serie.IsIgnoreValue(serieData))
|
||||||
{
|
{
|
||||||
serieData.SetLabelActive(false);
|
serieData.SetLabelActive(false);
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user