c# - C# wpf Live 图表如何根据值和标签自动调整轴,并带有代码
问题描述
我有一个必须在 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].Label[2] = " FFF"
推荐阅读
- javascript - 如何使用 JavaScript 禁用 Evernote 网页视图“最大宽度”?
- html - 在我的本地机器上创建一个网页。链接转到 file:/// 而不是 http://
- javascript - 无法重定向到另一个 HTML 页面
- node.js - 会话结束后从用户浏览器中删除 cookie。我使用 Passport-twitter 对用户进行身份验证。
- ios - 与委托传递数据但仍然为零,为什么?
- html - 如何提升一组卡片css中的单张卡片
- composer-php - PhpOffice/PhpSpreadsheet “类 PhpOffice\PhpSpreadsheet\IOFactory 无法加载”
- angular6 - Apollo-boost 缓存问题
- node.js - 在 kubernetes 上以主机作为 localhost 公开节点 js 应用程序
- r - 为多个观察值和变量设置和运行函数