Livecharts:放大到CartesianChart中的特定区域

时间:2019-04-16 11:17:13

标签: c# winforms livecharts

我正在使用LiveCharts.WinForms.CartesianChart,并用GLineSeries加载它。我想做的是缩放到X轴的特定区域。在LiveCharts中有可能吗?
我找不到任何CartesianChart的方法。

1 个答案:

答案 0 :(得分:0)

我找到了一种方法。我认为评论中提到的MinValueMaxValue也许也会起作用。但是,我没有直接更改MinValueMaxValue,而是找到了另一种方法。您可以将CartesianChart绑定到BindingAssistant。您可以在此处设置FromTo的值。然后CartesianChart自动缩放到该区域。
代码如下:

var assistant = new BindingAssistant
{
    From = ZoomDateStart.Ticks,
    To = ZoomDateEnd.Ticks
};

cartesianChart1.AxisX[0].SetBinding(Axis.MinValueProperty,
    new Binding { Path = new PropertyPath("From"), Source = assistant, Mode = BindingMode.TwoWay });
cartesianChart1.AxisX[0].SetBinding(Axis.MaxValueProperty,
    new Binding { Path = new PropertyPath("To"), Source = assistant, Mode = BindingMode.TwoWay });

使用此方法的优点是现在图表也可以滚动。有关更多信息:Example