0

我正在制作一个同时具有主要和次要 y 轴的图,但是在缩放图表区域时,只有主要 x 轴和主要 y 轴正在缩放,并且滚动条不会出现在次要 Y 轴上

        chrtarea.CursorX.IsUserEnabled = true;
        chrtarea.CursorX.IsUserSelectionEnabled = true;
        chrtarea.CursorY.IsUserEnabled = true;
        chrtarea.CursorY.IsUserSelectionEnabled = true;

        chrtarea.AxisX.ScaleView.Zoomable = true;
        chrtarea.AxisY.ScaleView.Zoomable = true;
        chrtarea.AxisY2.ScaleView.Zoomable = true;

代码有问题吗?请告诉如何执行此操作。

4

2 回答 2

0

我意识到这个问题已经过时了,但我今天遇到了这个问题。

我可以实现可缩放辅助 Y 轴的唯一方法是更改​​辅助 Y 轴的最大值和最小值以在轴视图更改时更改:

private void ChartMainAxisViewChanged(object sender, ViewEventArgs e)
{
    chartMain.ChartAreas[0].AxisY2.ScaleView.Position = chartMain.ChartAreas[0].AxisY.ScaleView.Position / 10.0;
    chartMain.ChartAreas[0].AxisY2.Minimum = chartMain.ChartAreas[0].AxisY.ScaleView.ViewMinimum / 10.0;
    chartMain.ChartAreas[0].AxisY2.Maximum = chartMain.ChartAreas[0].AxisY.ScaleView.ViewMaximum / 10.0;
    chartMain.ChartAreas[0].AxisY2.Interval = chartMain.ChartAreas[0].AxisY.Interval / 10.0;
    chartMain.ChartAreas[0].AxisY2.IntervalOffset = chartMain.ChartAreas[0].AxisY.IntervalOffset / 10.0;
}

这依赖于 Y 轴和 Y2 轴之间的比例。我的恰好是 10:1,所以很容易转换,但如果你的是动态的,你需要计算比率。

最后两行也对齐间隔,但如果您不想对齐间隔,则不需要它。

于 2014-09-17T15:36:27.303 回答
0

我意识到这个问题已经过时了,但我今天遇到了这个问题。

您可以切换 CursorY 以使用辅助轴 (AxisY2):

    chartarea.CursorY.AxisType = System.Windows.Forms.DataVisualization.Charting.AxisType.Secondary;

这将禁用主 Y 轴上的缩放,因此如果您希望同时缩放两者,请坚持 Erresen 的回答

于 2017-01-06T12:23:26.217 回答