在实时图表中更新图表时重置缩放和平移

Reseting zoom and pan when updating chart in livecharts

我正在为 VB.NET/WPF 使用 beto-rodriguez 的实时图表,我在代码隐藏中设置源数据并在用户单击按钮时显示图表。

我使用 chart.Zoom = ZoomingOptions.X 在我的图表上启用了缩放功能。我的问题是,如果我缩放到 150% 并从点 (0,0) 移开,并且我在同一控件上加载一个新图,缩放不会重置,因为新图将缩放 150 % 并按相同的值平移。

有没有办法在每次重置其 .Series 值时重置图表缩放和平移?

顺便说一下,我的 x 轴包含日期,因此设置最小值和最大值不起作用。

我找到了解决方案:

    xAxis.Labels = labels

    ' Run these two lines every time the chart is updated
    xAxis.MinValue = 0
    xAxis.MaxValue = labels.Count - 1

其中 xAxis 是我的 Axis 控件的名称,labels 是包含 x 轴日期的字符串列表。

你的答案是正确的,你在强制轴的范围,但你也可以让图表尝试自动缩放将你的轴限制设置为 double.NaN

来自网站:https://lvcharts.net/App/examples/v1/wf/Zooming%20and%20panning

cartesianChart1.AxisX[0].MinValue = double.NaN;
cartesianChart1.AxisX[0].MaxValue = double.NaN;
cartesianChart1.AxisY[0].MinValue = double.NaN;
cartesianChart1.AxisY[0].MaxValue = double.NaN;