在 lightningChart 中,如何锁定 2 个或更多轴的 Y 轴以使零始终保持同步?

In lightningChart, how can I lock the Y axis of 2 or more axes in order to keep the zero always in sync?

我需要在同一个二维图形上显示电压和电流 (LightningChart.ViewXY)。为了保持可见比例的值,我使用了 2 个不同的轴。但我的客户和我想确保零始终在 2 个不同的轴之间对齐。这可能吗?如果可以,我该怎么做?

感谢 Eric 提出这个问题。 图表和坐标轴具有可帮助您自定义处理此类情况的事件。 请记住,在同一水平位置的多个 YAxes 没有 属性,例如Zoomed、Panned 事件处理并相应地修改 Axis 的范围。下面是如何将两个轴(同一段)的参考值固定到图形区域中间的示例。

    private void ViewXY_Zoomed(object sender, Arction.Wpf.Charting.Views.ViewXY.ZoomedXYEventArgs e)
    {
        AxisY axis0 = _chart.ViewXY.YAxes[0];
        AxisY axis1 = _chart.ViewXY.YAxes[1];

        // get segment top & bottom coordinates [PX]
        GraphSegmentInfo gsi = _chart.ViewXY.GetGraphSegmentInfo();
        float fTop = gsi.SegmentTops[0];
        float fBottom = gsi.SegmentBottoms[0];

        int iScreenCoordForRefValue = (int)(fTop + fBottom) / 2;
        float fAxis0RefValue = 50, fAxis1RefValue = 0;

        double dAxis0ValueAtCoord, dAxis1ValueAtCoord;
        axis0.CoordToValue(iScreenCoordForRefValue, out dAxis0ValueAtCoord, false);
        axis1.CoordToValue(iScreenCoordForRefValue, out dAxis1ValueAtCoord, false);

        // pan Axis' RefValue position at RefScreenCoord
        double dNewMinAxis0 = axis0.Minimum - (dAxis0ValueAtCoord - fAxis0RefValue);
        double dNewMaxAxis0 = axis0.Maximum - (dAxis0ValueAtCoord - fAxis0RefValue);
        double dNewMinAxis1 = axis1.Minimum - (dAxis1ValueAtCoord - fAxis1RefValue);
        double dNewMaxAxis1 = axis1.Maximum - (dAxis1ValueAtCoord - fAxis1RefValue);

        _chart.BeginUpdate();

        axis0.SetRange(dNewMinAxis0, dNewMaxAxis0);
        axis1.SetRange(dNewMinAxis1, dNewMaxAxis1);

        _chart.EndUpdate();
    }