У меня есть проект, который нужно разрабатывать в WPF и кодировать только с живыми диаграммами. Идея состоит в том, чтобы иметь график температуры. Ниже вы можете увидеть, что я уже делал, добавляя значения в lineSerie. Я начинаю с добавления значений в серию строк, и когда их больше 120, я удаляю первое:
lineSerie1_Part.Values.Add(new ObservableValue((double)val));
if (lineSerie1_Part.Values.Count >= 120)
lineSerie1_Part.Values.RemoveAt(0);
Теперь у меня две проблемы:
Я хотел бы, чтобы по оси X не было количество добавленных значений, а время, когда была измерена температура (например, 10:03:24 - 10:04:18 - ...). Поэтому я написал небольшую тестовую программу, в которой я установил метки:
Labels = new[] { "AAA", "BBB", "CCC"}; cc.AxisX[0].Labels = Labels;
и это работает. Тем не менее, я не могу изменить это:
Labels[0] = "DDD";
Labels[1] = "EEE";
Labels[2] = "FFF";
cc.AxisX[0].Labels = Labels;
не вносит никаких изменений. Кроме того, это правильный способ сделать это? Будет ли способ, когда я добавляю новое значение, это значение уже имеет метку оси X?
Я могу установить максимальную и минимальную температуру в начале (например, 18°-25°),
chartTemperatures.AxisY.Add(new Axis { MinValue = MinTemp, MaxValue = MaxTemp);
но я хотел бы, чтобы график автоматически расширялся, если температура превышает начальные значения (например, 25,5 °).
Спасибо за любую помощь Патрик