【发布时间】:2014-04-01 14:27:59
【问题描述】:
喂,
我需要一个折线图,但我只知道运行时图表的数量,并且图表应该动态变化,所以如果我得到新数据,图表应该更新。另外,如果我得到的值高于图表的当前大小,则应该更改以显示更高的值。我想每秒更新一次图表。我如何在 WPF 中实现这一点,最好的解决方案是什么?
最好的问候
【问题讨论】:
喂,
我需要一个折线图,但我只知道运行时图表的数量,并且图表应该动态变化,所以如果我得到新数据,图表应该更新。另外,如果我得到的值高于图表的当前大小,则应该更改以显示更高的值。我想每秒更新一次图表。我如何在 WPF 中实现这一点,最好的解决方案是什么?
最好的问候
【问题讨论】:
您可以使用 OxyPlot 。这是一个非常有用的图书馆 在下面的链接中找到它OxyPlot codePlex
【讨论】:
这可以通过使用默认的 WPF 工具包图表来完成。虽然它们很慢,也许另一个答案中的 OxyPlot 库会是一个更好的主意。
关于你的问题,
图表应该动态变化,所以如果我得到新数据,图表应该更新
您可以通过使用数据绑定和ObservableCollection 类来实现这一点。我在这里回答了如何做到这一点:WPF Chart Series Dynamic Databinding
如果我得到的值高于图表的当前大小,则应该更改以显示更高的值。
如果您不设置 Y 轴的 Maximum 属性,它将默认在 WPF 工具包图表中工作。
我只知道运行时的图表数量
这是最复杂的部分,因为您需要扩展 Chart 类。我写了an article how to do this for Silverlight and WPF Toolkit charts,你也可以直接下载例子from here。
【讨论】: