Files
XCharts/Demo/Scripts/Demo_Dynamic.cs

62 lines
1.8 KiB
C#
Raw Normal View History

using System;
using UnityEngine;
using XCharts;
2019-05-17 04:57:46 +08:00
[DisallowMultipleComponent]
[ExecuteInEditMode]
[RequireComponent(typeof(CoordinateChart))]
public class Demo_Dynamic : MonoBehaviour
{
public int maxCacheDataNumber = 100;
public float initDataTime = 2;
private CoordinateChart chart;
private float updateTime;
private float initTime;
private int initCount;
private int count;
private bool isInited;
private DateTime timeNow;
void Awake()
{
chart = gameObject.GetComponentInChildren<CoordinateChart>();
//chart.RemoveData();
var serie = chart.AddSerie("data", SerieType.Line);
2019-07-21 22:58:51 +08:00
serie.symbol.type = SerieSymbolType.None;
chart.maxCacheDataNumber = maxCacheDataNumber;
timeNow = DateTime.Now;
2019-05-24 09:51:45 +08:00
timeNow = timeNow.AddSeconds(-maxCacheDataNumber);
}
void Update()
{
2019-07-15 00:24:04 +08:00
if (initCount < maxCacheDataNumber)
{
int count = (int)(maxCacheDataNumber / initDataTime * Time.deltaTime);
for (int i = 0; i < count; i++)
{
2019-05-24 09:51:45 +08:00
timeNow = timeNow.AddSeconds(1);
2019-07-15 00:24:04 +08:00
string category = timeNow.ToString("hh:mm:ss");
float value = UnityEngine.Random.Range(60, 150);
chart.AddXAxisData(category);
chart.AddData(0, value);
2019-05-24 09:51:45 +08:00
initCount++;
if (initCount > maxCacheDataNumber) break;
}
chart.RefreshChart();
}
updateTime += Time.deltaTime;
if (updateTime >= 1)
{
updateTime = 0;
count++;
2019-07-15 00:24:04 +08:00
string category = DateTime.Now.ToString("hh:mm:ss");
float value = UnityEngine.Random.Range(60, 150);
chart.AddXAxisData(category);
chart.AddData(0, value);
chart.RefreshChart();
}
}
}