动态数据显示多轴缩放

Posted

技术标签:

【中文标题】动态数据显示多轴缩放【英文标题】:Dynamic-Data-Display multiple axes scaling 【发布时间】:2017-02-21 12:37:36 【问题描述】:

我有一个带有海图仪的 MVVM wpf 应用程序。我有 2 个垂直轴和 2 个图表(例如一张图表上的电流和电压随时间变化)。

<d3:ChartPlotter>
        <d3:ChartPlotter.Children>
            <d3:VerticalIntegerAxis/>
            <d3:LineGraph DataSource="Binding GraphOneDataSource" Stroke="Blue"/>
            <d3:LineGraph DataSource="Binding GraphTwoDataSource" Stroke="Red"/>
        </d3:ChartPlotter.Children>
    </d3:ChartPlotter>

这 2 个图表的缩放比例不同。我通过像这样调整他的映射,使一个图表与另一个图表可扩展

GraphTwoDataSource.SetXYMapping(p=>new Point(p.X+1,((p.Y)*(GraphOneMax-GraphOneMin)/(GraphTwoMax-GraphTwoMin))));

图表相互缩放。第一个图的值是从 1000 到 5000,第二个的值是 10-50。

我需要相应地调整海图仪的第二个垂直轴。如何更改轴刻度生成的行为,使其与第一个轴的缩放方式与图形彼此缩放的方式相同?

【问题讨论】:

【参考方案1】:

如here 和here 所述,您可以使用 InjectedPlotter 。 here我找到了一个例子。

【讨论】:

正如我所说,我已经有多个轴。链接和示例显示了如何添加多个轴,而不是如何更改它们的行为。在示例中,刻度是硬编码的,而且控件也发生了相当大的变化【参考方案2】:

使用“D3 的未来”库中引入的 DependentPlotter 控件解决了这个问题

【讨论】:

以上是关于动态数据显示多轴缩放的主要内容,如果未能解决你的问题,请参考以下文章

python动态加载小图呈现大图

动态计算图层的中心坐标、缩放和停止

动态字体大小缩放

R语言时间序列数据指数平滑法分析交互式动态可视化

ehcarts之toolbox,工具栏

ImageView ImageView随手势变化 动态缩放