using System; using UnityEngine; using UnityEngine.UI; using XCharts; 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(); chart.xAxis.ClearData(); chart.series.ClearData(); chart.maxCacheDataNumber = maxCacheDataNumber; timeNow = DateTime.Now; initCount = maxCacheDataNumber; } void Update() { if (initCount>0) { int count = (int)(maxCacheDataNumber / initDataTime * Time.deltaTime); for (int i = 0; i < count; i++) { timeNow = timeNow.AddSeconds(-initCount); chart.AddXAxisData(timeNow.ToString("hh:mm:ss")); chart.AddData(0, UnityEngine.Random.Range(60, 150)); initCount--; if (initCount <= 0) break; } chart.RefreshChart(); } updateTime += Time.deltaTime; if (updateTime >= 1) { updateTime = 0; count++; chart.AddXAxisData(DateTime.Now.ToString("hh:mm:ss")); chart.AddData(0, UnityEngine.Random.Range(60, 150)); chart.RefreshChart(); } } }