动态数据显示多轴缩放

时间:2016-10-12 16:01:48

标签: c# .net wpf mvvm dynamic-data-display

我有一个带有chartplotter的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。

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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