动态数据显示多轴缩放
Dynamic-Data-Display multiple axes scaling
我有一个带有海图仪的 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>
这两张图的比例不同。我通过像这样调整他的映射,使一个图可以与另一个一起缩放
GraphTwoDataSource.SetXYMapping(p=>new Point(p.X+1,((p.Y)*(GraphOneMax-GraphOneMin)/(GraphTwoMax-GraphTwoMin))));
这些图相互成比例。第一个图表的值是从 1000 到 5000,第二个图表的值是 10-50。
我需要相应地调整海图仪的第二个垂直轴。如何更改轴刻度生成的行为,使其与第一个轴的缩放方式与图形相互缩放的方式相同?
如所述here and here you can use InjectedPlotter . here我找到了一个例子。
使用 "Future of D3" 库中引入的 DependentPlotter 控件解决了这个问题
我有一个带有海图仪的 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>
这两张图的比例不同。我通过像这样调整他的映射,使一个图可以与另一个一起缩放
GraphTwoDataSource.SetXYMapping(p=>new Point(p.X+1,((p.Y)*(GraphOneMax-GraphOneMin)/(GraphTwoMax-GraphTwoMin))));
这些图相互成比例。第一个图表的值是从 1000 到 5000,第二个图表的值是 10-50。
我需要相应地调整海图仪的第二个垂直轴。如何更改轴刻度生成的行为,使其与第一个轴的缩放方式与图形相互缩放的方式相同?
如所述here and here you can use InjectedPlotter . here我找到了一个例子。
使用 "Future of D3" 库中引入的 DependentPlotter 控件解决了这个问题