使用 Chart 控件繪圖,Y 軸數據遞增正常,但 X 軸綁定的數據「有增有減」(非單調遞增),導致圖表 X 軸顯示順序錯亂,非預期的時間序列效果。
Chart 控件默認按數據點添加順序繪製,若 X 值非遞增,會出現線條倒退、重疊。需明確告訴控件:X 軸為數值型坐標軸,按數值大小排序顯示,而非按索引順序。
// 關鍵設置
chart1.ChartAreas[0].AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount;
chart1.ChartAreas[0].AxisX.Minimum = dataMinX; // 可選:強制範圍
chart1.ChartAreas[0].AxisX.Maximum = dataMaxX;
chart1.ChartAreas[0].AxisX.Interval = 1; // 可選:刻度間隔
DataTable dt = new DataTable();
dt.Columns.Add("X值", Type.GetType("System.Double")); // 或 Int32, DateTime
dt.Columns.Add("Y值", Type.GetType("System.Double"));
DataView dv = dt.DefaultView;
dv.Sort = "X值 ASC";
chart1.DataSource = dv;
chart1.Series[0].XValueMember = "X值";
chart1.Series[0].YValueMembers = "Y值";
chart1.DataBind();
數值型 X 軸 + 正確數據類型 + 自動區間模式 = 完美有序顯示。不要試圖用字符串類型綁定數值坐標軸。