[英]draw line chart from maximum point y axis
我的表單中有一個折線圖,其代碼通過以下代碼獲取
foreach (var series in chart2.Series)
{
series.Points.Clear();
}
Series series2 = chart2.Series[0];
SqlCommand cmdchartline = new SqlCommand(myquery, Con);
SqlDataReader reader2 = cmdchartline.ExecuteReader();
while (reader2.Read())
{
chart2.Series[0].Points.AddXY(reader2["myx"].ToString(), reader2["myy"]);
}
我需要將(0,5000)作為下圖的第一個點,我的意思是圖表從Y軸上的(0,5000)開始
您正在將x值添加為string 。
這通常是(*)錯誤,因為它們現在都為0
。
注意:標簽仍顯示字符串,否則它們將無用 。
改變這個
chart2.Series[0].Points.AddXY(reader2["myx"].ToString(), reader2["myy"]);
對此:
chart2.Series[0].Points.AddXY(reader2["myx"], reader2["myy"]);
如果字段“ myx”和“ myy”是數字或日期,則現在可以找到DataPoint
值的最大值:
double maxX = chart2.Series[0].Points.Max(x => x.XValues);
double maxY = chart2.Series[0].Points.Max(x => x.YValues[0]);
現在您可以添加(或插入) 額外的 DataPoint
; 您需要確定其x值!
在我撰寫本文時,發現Y值很簡單,但x值可能不太簡單。 如果不需要x值,則可以將其保留為字符串,或者更好的是,可以將Series設為“索引” ..:
chart2.Series[0].IsXValueIndexed = true;
然后,您可以將額外的點插入開頭,如下所示:
chart2.Series[0].Points.InsertXY(0, 0, maxY);
請注意,將x值保留為字符串時,您不能:
而且,您不能希望圖表會以很好的比例方式顯示值。 相反,他們將以相同的間隔坐下。
(*)有時不需要這些,例如x值是名稱,人物或城市等時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.