增加控制显示数据个数参数showDataNumber

This commit is contained in:
monitor1394
2018-09-21 22:43:21 +08:00
parent dd8a1084ab
commit 17659b35d5
4 changed files with 259 additions and 34 deletions

View File

@@ -41,7 +41,12 @@ namespace xcharts
if (!legend.IsShowSeries(j)) continue;
Series series = seriesList[j];
Color color = legend.GetColor(j);
for (int i = 0; i < series.dataList.Count; i++)
int startIndex = 0;
if (series.showDataNumber > 0 && series.dataList.Count > series.showDataNumber)
{
startIndex = series.dataList.Count - series.showDataNumber;
}
for (int i = startIndex; i < series.dataList.Count; i++)
{
SeriesData data = series.dataList[i];
float pX = zeroX + coordinate.tickness;
@@ -69,7 +74,12 @@ namespace xcharts
if (!legend.IsShowSeries(j)) continue;
Series series = seriesList[j];
Color color = legend.GetColor(j);
for (int i = 0; i < series.dataList.Count; i++)
int startIndex = 0;
if (series.showDataNumber > 0 && series.dataList.Count > series.showDataNumber)
{
startIndex = series.dataList.Count - series.showDataNumber;
}
for (int i = startIndex; i < series.dataList.Count; i++)
{
SeriesData data = series.dataList[i];
float pX = zeroX + i * coordinateWid / (xAxis.splitNumber - 1);

View File

@@ -151,7 +151,7 @@ namespace xcharts
public class Series
{
public string legendKey;
public int maxCount = 0;
public int showDataNumber = 0;
public List<SeriesData> dataList = new List<SeriesData>();
public float Max
@@ -185,7 +185,7 @@ namespace xcharts
public void AddData(string key, float value)
{
if (dataList.Count >= maxCount && maxCount != 0)
if (dataList.Count >= showDataNumber && showDataNumber != 0)
{
dataList.RemoveAt(0);
}
@@ -209,9 +209,9 @@ namespace xcharts
[SerializeField]
protected Coordinate coordinate;
[SerializeField]
public XAxis xAxis;
protected XAxis xAxis;
[SerializeField]
public YAxis yAxis;
protected YAxis yAxis;
[SerializeField]
protected Legend legend;
[SerializeField]

View File

@@ -63,7 +63,13 @@ namespace xcharts
Vector3 lp = Vector3.zero;
Vector3 np = Vector3.zero;
float startX = zeroX + (xAxis.boundaryGap ? scaleWid / 2 : 0);
for (int i = 0; i < series.dataList.Count; i++)
int showDataNumber = series.showDataNumber;
int startIndex = 0;
if (series.showDataNumber > 0 && series.dataList.Count > series.showDataNumber)
{
startIndex = series.dataList.Count - series.showDataNumber;
}
for (int i = startIndex; i < series.dataList.Count; i++)
{
SeriesData data = series.dataList[i];
@@ -87,8 +93,8 @@ namespace xcharts
ChartUtils.DrawLine(vh, lp, np, lineData.tickness, color);
if (lineData.area)
{
ChartUtils.DrawPolygon(vh, lp, np, new Vector3(np.x, zeroY), new Vector3(lp.x, zeroY),
lineData.areaStartColor,lineData.areaToColor);
ChartUtils.DrawPolygon(vh, lp, np, new Vector3(np.x, zeroY), new Vector3(lp.x, zeroY),
lineData.areaStartColor, lineData.areaToColor);
}
}