2011-11-20 160 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),並讓我可以放大所需的詳細程度。

相關問題