动态数据显示 WPF 将 ChartPlotter 的默认行为更改为移动而不是缩放

Posted

技术标签:

【中文标题】动态数据显示 WPF 将 ChartPlotter 的默认行为更改为移动而不是缩放【英文标题】:Dynamic-Data-Display WPF Changing the ChartPlotter's default behaviour to moving instead of scaling 【发布时间】:2017-03-21 00:16:50 【问题描述】:

我有一些通过消息发送到我的图表的数据。这是一个电流随时间(秒)的图表。如何更改 FitToView 模式的行为(或编写不同的模式),以便绘图仪不会缩小和缩放以适应整个折线图,而是向左移动,例如仅显示最后 100 秒?

我想过计算每条消息的最小值和最大值,并明确更改绘图仪限制,但它似乎不是很理想。还因为我必须在代码隐藏中设置约束,但所有数据都在 ViewModel 中(使用 MVVM 和 caliburn)。

编辑:我已经找到了这个功能(将 WidthFollowConstraint 添加到 FitToView 约束),但是线图的移动超过了轴,之后它补偿回它应该在的位置,使整个图形在每个迭代。如何解决这个问题?

【问题讨论】:

【参考方案1】:

显然我忘了回答这个问题。

我通过将 MinimalSizeConstraint 和 FollowWidthConstraint 添加到 D3 Viewport2D 类的构造函数中的 ConstraintCollection 使图形移动而不是缩放。这些名称非常不言自明。基本上这会将图表的 FitToView 函数更改为所需的行为

【讨论】:

以上是关于动态数据显示 WPF 将 ChartPlotter 的默认行为更改为移动而不是缩放的主要内容,如果未能解决你的问题,请参考以下文章

动态数据显示 - 从 ChartPlotter 获取水平和垂直

无法使用 MVVM 将 WPF ChartPlotter 绑定到视图

动态数据显示多轴缩放

WPF调用Winform Chart控件绘图

用 D3 画垂直线(动态数据显示)

动态数据显示 - WPF - 需要将文本添加到画布 - C#