1
我使用MS圖表生成上的MVC3視圖圖像。
圖表工作正常,但圖表頂部的最大值非常高,我無法讀取這些值。
圖表不應該有最大值的餘量嗎?
我真的不知道這是一個真正的問題,但我不能讓這看起來不錯,除非我定義一個AxisYMaximum值,我認爲不應該使用動態值。
我使用MS圖表生成上的MVC3視圖圖像。
圖表工作正常,但圖表頂部的最大值非常高,我無法讀取這些值。
圖表不應該有最大值的餘量嗎?
我真的不知道這是一個真正的問題,但我不能讓這看起來不錯,除非我定義一個AxisYMaximum值,我認爲不應該使用動態值。
是的,圖表控件應該計算清楚顯示數據所需的餘量,但根據我的經驗,沒有。
由於您的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();