簡體   English   中英

從最大點y軸繪制折線圖

[英]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)開始

如何將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值保留為字符串時,您不能:

  • 對軸或數據點標簽使用格式字符串
  • 使用基於值的縮放范圍(Axis.ScaleView)
  • 使用顯示范圍(Axis.Minimum / Maximum)
  • 用x值進行任何計算

而且,您不能希望圖表會以很好的比例方式顯示值。 相反,他們將以相同的間隔坐下。

(*)有時不需要這些,例如x值是名稱,人物或城市等時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM