如何在mschart中缩放辅助y轴

时间:2012-05-17 06:58:46

标签: c# visual-studio-2010 mschart

我正在创建一个既有主要和次要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;

代码是否有问题。请告诉我们如何执行此操作。

2 个答案:

答案 0 :(得分: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所以很容易转换,但如果你的是动态的,你需要计算比率。

最后两行也会对齐间隔,但如果您不想要对齐的间隔,则不需要这样做。

答案 1 :(得分:0)

我意识到这个问题已经过去了,但我今天反对这个问题。

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

public class Customer
{
    public int Id { get; set; }
    public int Number { get; set; }
    public int ParentNumber { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
    public string City { get; set; }
    public string Country { get; set; }
    public string Language { get; set; }
}

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