增加API:AddData(),ClearSerieData(),ClearComponentData()

This commit is contained in:
monitor1394
2022-10-30 20:56:05 +08:00
parent d7ebfb1f41
commit bdb171c4e6
6 changed files with 108 additions and 0 deletions

View File

@@ -187,9 +187,31 @@ namespace XCharts.Runtime
/// |清空所有组件和Serie的数据。注意Serie只是清空数据不会移除Serie。
/// </summary>
public virtual void ClearData()
{
ClearSerieData();
ClearComponentData();
}
[Since("v3.4.0")]
/// <summary>
/// Clear the data of all series.
/// |清空所有serie的数据。
/// </summary>
public virtual void ClearSerieData()
{
foreach (var serie in m_Series)
serie.ClearData();
m_CheckAnimation = false;
RefreshChart();
}
[Since("v3.4.0")]
/// <summary>
/// Clear the data of all components.
/// |清空所有组件的数据。
/// </summary>
public virtual void ClearComponentData()
{
foreach (var component in m_Components)
component.ClearData();
m_CheckAnimation = false;

View File

@@ -304,6 +304,46 @@ namespace XCharts.Runtime
return null;
}
[Since("v3.4.0")]
/// <summary>
/// Add an arbitray dimension data to serie,such as (x,y,z,...).
/// |添加多维数据x,y,z...)到指定的系列中。
/// </summary>
/// <param name="serieIndex">the index of serie</param>
/// <param name="multidimensionalData">the (x,y,z,...) data</param>
/// <returns></returns>
public SerieData AddData(int serieIndex, params double[] multidimensionalData)
{
var serie = GetSerie(serieIndex);
if (serie != null)
{
var serieData = serie.AddData(multidimensionalData);
RefreshPainter(serie.painter);
return serieData;
}
return null;
}
[Since("v3.4.0")]
/// <summary>
/// Add an arbitray dimension data to serie,such as (x,y,z,...).
/// |添加多维数据x,y,z...)到指定的系列中。
/// </summary>
/// <param name="serieName">the name of serie</param>
/// <param name="multidimensionalData">the (x,y,z,...) data</param>
/// <returns></returns>
public SerieData AddData(string serieName, params double[] multidimensionalData)
{
var serie = GetSerie(serieName);
if (serie != null)
{
var serieData = serie.AddData(multidimensionalData);
RefreshPainter(serie.painter);
return serieData;
}
return null;
}
/// <summary>
/// Add a (x,y) data to serie.
/// |添加x,y数据到指定系列中。

View File

@@ -1373,6 +1373,40 @@ namespace XCharts.Runtime
}
}
/// <summary>
/// 添加任意维数据到系列中。
/// </summary>
/// <param name="values">任意维数据</param>
/// <returns></returns>
public SerieData AddData(params double[] values)
{
if (values == null || values.Length == 0) return null;
string dataName = null;
string dataId = null;
if (values.Length == 1)
return AddYData(values[0], dataName, dataId);
else if (values.Length == 2)
return AddXYData(values[0], values[1], dataName, dataId);
else
{
CheckMaxCache();
m_ShowDataDimension = values.Length;
var serieData = SerieDataPool.Get();
serieData.name = dataName;
serieData.index = m_Data.Count;
serieData.id = dataId;
for (int i = 0; i < values.Length; i++)
{
serieData.data.Add(values[i]);
}
AddSerieData(serieData);
SetVerticesDirty();
CheckDataName(dataName);
labelDirty = true;
return serieData;
}
}
public SerieData AddChildData(SerieData parent, double value, string name, string id)
{
var serieData = new SerieData();