2012-07-12 27 views
1

chart無法MS圖表上讀出的最大Y軸值

我使用MS圖表生成上的MVC3視圖圖像。

圖表工作正常,但圖表頂部的最大值非常高,我無法讀取這些值。

圖表不應該有最大值的餘量嗎?

我真的不知道這是一個真正的問題,但我不能讓這看起來不錯,除非我定義一個AxisYMaximum值,我認爲不應該使用動態值。

回答

3

是的,圖表控件應該計算清楚顯示數據所需的餘量,但根據我的經驗,沒有。

由於您的y值是動態的,您可以動態地將AxisYMaximum設置爲剛剛顯示的最大y值之上的值。像這樣的東西可以設置它:

double greatestYValue = double.MinValue; 

foreach (var pt in Chart1.Series[0].Points) 
{ 
    if (greatestYValue < pt.YValues[0]) greatestYValue = pt.YValues[0]; 
} 

Chart1.ChartAreas[0].AxisY.Maximum = greatestYValue * 1.2; 
// or 
Chart1.ChartAreas[0].AxisY.Maximum = greatestYValue + 20; 

我只是通過第一系列中的所有點循環,找到最大的y值,則y軸的最大設置爲該值的120%,或某種絕對高於該值的金額,或任何你需要的。

你也可以使用LINQ得到一個班輪最大的y值:

double greatestYValue = Chart1.Series[0].Points.Select(p => p.YValues[0]).Max();