2011-11-20 105 views
0

每当我将最小值/最大值添加到Yaxis(chart1.ChartAreas [0] .AxisY.Minimum & \ chart1.ChartAreas [0]。 AxisY.Maximum)我失去了放大图表的能力。当添加Y轴最小/最大值时无法放大MSchart

有没有办法解决这个问题?

是否有人知道缩放与最小/最大值结合是否存在限制?

回答

0

以下应使变焦:

chart1.ChartAreas[0].CursorY.IsUserEnabled = true; 
chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true; 
chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true; 

在轴线上设置最小/最大似乎确实防止用户选择的变焦。 我不确定您是否尝试限制缩放或提供初始缩放设置。 对于后,做到这一点,而不是使用在轴线分钟/ AX:

chart1.ChartArea[0].AxisY.ScaleView.Zoom(min, max); 
+0

谢谢。 我已经在代码部分,但每当我添加最大/最小值,我不能放大了。没有最小/最大它完美的作品 – Tzachi

+0

Tzachi,你解决了这个问题? – Alex

0

我无法验证的问题。
如果我设置最小值/最大值我仍然可以放大图表例如为:

private void FillChart() 
{ 
    var dt = new DataTable(); 
    dt.Columns.Add("X", typeof(double)); 
    dt.Columns.Add("Y", typeof(double)); 

    dt.Rows.Add(1, 3); 
    dt.Rows.Add(2, 7); 
    dt.Rows.Add(3, 2); 
    dt.Rows.Add(4, 1); 
    dt.Rows.Add(5, 5); 
    dt.Rows.Add(6, 9); 
    dt.Rows.Add(7, 0); 

    this.chart1.Series.Clear(); 

    this.chart1.DataSource = dt; 
    var series = this.chart1.Series.Add("MYSERIES"); 
    series.XValueMember = "X"; 
    series.YValueMembers = "Y"; 

    // set a custom minimum and maximum 
    chart1.ChartAreas[0].AxisY.Minimum = -10; 
    chart1.ChartAreas[0].AxisY.Maximum = 10; 

    chart1.ChartAreas[0].CursorY.IsUserEnabled = true; 
    chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true; 
    chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true; 
} 

这工作完全没什么问题。

你有什么不同吗?

2

由于这里没有答案,但最近对线程发表了评论,并且在找到有关同一问题的答案时发现了这个线程,这里是我发现的问题。

检查图表区域光标的Interval和IntervalType值。可以启用缩放功能,但是您的间隔足够大,以至于使用最小/最大值可以使图表的整个范围都比您可以选择的间隔小。

在我的情况下,我使用DateTime作为我的坐标轴值类型,我使用'Auto'IntervalType我无法放大任何不到一天的任何事情 - 而我的图表只能覆盖10个小时,所以缩放显示为被禁用。我将IntervalType从“自动”更改为“秒”(将间隔置于1),并让我可以放大所需的详细程度。

相关问题