0

主軸と副軸の両方を持つプロットを作成していますが、グラフ領域をズームすると、主軸の 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 だったので変換は簡単でしたが、動的な場合は比率を計算する必要があります。

最後の 2 行も間隔を揃えていますが、間隔を揃えたくない場合はこれは必要ありません。

于 2014-09-17T15:36:27.303 に答える