Я думаю, что самым простым способом было бы сохранить первое значение данных DateTime
. Затем вы можете рассчитать относительное время для каждой другой точки данных. С этими относительными значениями вы можете «заставить» свои графики начинаться с 0
.
Чтобы данные перемещались с вашего графика, если время идет, вы должны передать относительное значение времени в вашу функцию SetAxisLimits(TimeSpan)
. Тип данных должен быть изменен на TimeSpan
.
Примерно так:
var now = DateTime.Now;
if(ChartValues.Count == 0)
start = now; // save first timestamp to reference the following datapoints
var time = now.Subtract(start)
ChartValues.Add(new MeasureModel
{
Time = time,
Value = SomeFunction()
});
SetAxisLimits(time);