簡體   English   中英

如何顯示只有1個數據點的折線圖

[英]How can I display a line chart with only 1 data point

我有一個.net程序,可以讓用戶從下拉列表中選擇一個圖表,然后在數據范圍內查詢sql以獲取數據以顯示該圖表,否則一切都很好,除非他們選擇的日期范圍僅為該特定圖表返回1個值。

發生這種情況時,由於圖形上只有1個點,因此它不會在折線圖或面積圖上顯示任何內容(它適用於條形圖和柱形圖)。

我曾想過如果只有1個數據點,則將圖類型強制為列,但我想知道是否缺少一個設置,如果只有1個數據點,則該圖將允許折線圖上的直線。

很好地基於偽造第二點的想法,我想到了這一點,從技術上講,它可以實現我想要的目標。

只有1點時調用

 foreach (Series ser in mainChart.Series)
 {
     ser.Points.AddY(ser.Points[0].YValues[0]);
 }

我想我應該補充一點,以防萬一其他人需要這個,上面的代碼需要在圖表已被DataBound之后(已調用.DataBind())。

一條線的定義基本上是兩點之間的間隔。 如果沒有完全任意的點,就不能划出一條線。

一旦確定了該線應該定向到的角度,就可以創建一個第二個數據點來仿制該線,但是您希望它看起來像。 但這聽起來確實像是您希望使用散點圖而不是折線圖。 我建議更改您使用的圖表。 如果需要,您很可能也可以在散點圖上畫線。

我把這個放在我的問題中,但是既然是答案,我也會把它放在這里

只有1點時調用

foreach (Series ser in mainChart.Series)
{
   ser.Points.AddY(ser.Points[0].YValues[0]);
}

我遇到了同樣的問題,我通過放置另一個具有相同值的數據點解決了這個問題,因此,當只有一個值時,它只是復制相同的值,您將放置該點。 因此,將類似於以下內容:

this.g.Series[serieID].Points.AddXY(x, y); // <-- Duplicate this line if you only have one value

暫無
暫無

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

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