我在C#.NET應用程序(Visual Studio 2013)中使用圖表控件。如何強制X軸網格線和標籤的倍數爲100?我已將每個「間隔」屬性設置爲100,但在運行時,它始終將網格線和標籤置於198,398,598等。這是針對具有2048個點的數據集。如何強制圖表X軸標籤間隔爲100? (C#,.NET)
我寧願在設計器中做它,但如果必須的話,我會在代碼中做到這一點。
我是新的C#/。NET,所以請讓我知道的信息關鍵部分,我遺漏了什麼......
我在C#.NET應用程序(Visual Studio 2013)中使用圖表控件。如何強制X軸網格線和標籤的倍數爲100?我已將每個「間隔」屬性設置爲100,但在運行時,它始終將網格線和標籤置於198,398,598等。這是針對具有2048個點的數據集。如何強制圖表X軸標籤間隔爲100? (C#,.NET)
我寧願在設計器中做它,但如果必須的話,我會在代碼中做到這一點。
我是新的C#/。NET,所以請讓我知道的信息關鍵部分,我遺漏了什麼......
首先設置chart.ChartArea[0].AxisX.Minimum
和chart.ChartArea[0].AxisX.Maximum
。 然後chart.ChartArea[0].AxisX.Interval = 100;
並且還調整IntervalOffset
。
但是,如果最小值> 0:,網格將偏離最小值。這意味着正確的偏移量將axis.IntervalOffset = axis.Interval - axis.Minimum;
但是,如果最小值是< 0:
axis.IntervalOffset = axis.Interval - axis.Minimum
將是評價的東西像(以最小= -4爲例)axis.IntervalOffset = 100 - (-4)= 104這是有問題的,因爲如果IntervalOffset
>Interval
間隔將從IntervalOffset
開始並跳過任何網格線Minimum
和IntervalOffset
。 (以上例中網格線爲0將被跳過)
換句話說,正確的偏移量是:IntervalOffset = (axis.Interval - axis.Minimum) % axis.Interval
。
這給正確的偏移:
axis.IntervalOffset = (-axis.Minimum) % axis.Interval;
例如:
var axis = chart.ChartAreas[0].AxisX;
var points = chart.Series[0].Points;
axis.Minimum = points.Min(p => p.XValue);
axis.Maximum = points.Max(p => p.XValue);
axis.Interval = 100;
axis.IntervalOffset = (-axis.Minimum) % axis.Interval;
會給你相交X = 0
還設置了最低一格,最有可能的爲0,但這將取決於您的實際x值..'如果它沒有幫助,向我們展示更多您的數據和結果... – TaW