C# wpf Live 图表如何使用代码隐藏的值和标签来自动适应轴
C# wpf Live charts how to Autoadapt axis in terms of values and labels with code behind
我有一个项目必须在 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°)时自动扩展。
感谢您的帮助
帕特里克
正如 Jdweng 所述,没有自动方法。所以我必须使用 cc.AxisX[0].Label[0] = "DDD";cc.AxisX[0].Label[1] = "EEE";cc.AxisX [0].标签[2] = "FFF"
我有一个项目必须在 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°)时自动扩展。
感谢您的帮助 帕特里克
正如 Jdweng 所述,没有自动方法。所以我必须使用 cc.AxisX[0].Label[0] = "DDD";cc.AxisX[0].Label[1] = "EEE";cc.AxisX [0].标签[2] = "FFF"