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

Dynamic-Data-Display WPF Changing the ChartPlotter's default behaviour to moving instead of scaling

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

我考虑过计算每条消息的最小值和最大值,并明确更改绘图仪限制,但它似乎不是最佳选择。另外由于我必须在代码隐藏中设置约束,但所有数据都在 ViewModel 中(使用 MVVM 和 caliburn)。

编辑:我找到了这个功能(将 WidthFollowConstraint 添加到 FitToView 约束中)但是线图移动得比轴多,然后它补偿回它应该在的位置,使整个图出现故障在每次迭代中。如何解决?

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

我通过将 MinimalSizeConstraint 和 FollowWidthConstraint 添加到 D3 Viewport2D class 的构造函数中的 ConstraintCollection,使图形移动而不是缩放。这些名字很容易解释。基本上,这会将图形的 FitToView 功能更改为所需的行为