chart 控制元件的各種資料繫結(…
阿新 • • 發佈:2019-01-03
一.資料來源
說到繪製圖表,可能很多人的第一反應除了是圖表呈現的方式外,更關心的便是資料如何新增,記得在很多年前,哪時要繪製一個數據曲線圖,一直找不到好的呈現方式,後來使用了SVG的繪圖模式,不過在新增資料的時候可謂吃盡了苦頭,畢竟,SVG只是一種描述語言,要動態的實現一個圖表的繪製,是非常困難的.對於微軟的圖表控制元件,資料新增是一件很簡單的方式,它支援多種資料新增方式,如:
說到繪製圖表,可能很多人的第一反應除了是圖表呈現的方式外,更關心的便是資料如何新增,記得在很多年前,哪時要繪製一個數據曲線圖,一直找不到好的呈現方式,後來使用了SVG的繪圖模式,不過在新增資料的時候可謂吃盡了苦頭,畢竟,SVG只是一種描述語言,要動態的實現一個圖表的繪製,是非常困難的.對於微軟的圖表控制元件,資料新增是一件很簡單的方式,它支援多種資料新增方式,如:
- 可以在圖表的設計介面,在屬性設定視窗中的Series屬性下的Points中新增需要的資料.
- 可以在圖表的設計介面中,在屬性中繫結一個數據源.
- 可以在後臺程式碼中,動態新增資料.
- 可以在後臺程式碼中設定一個或多個數據源,直接繫結到圖表中.
第1,2兩種比較簡單,主要看一下3,4的用法!對於第3點,相對來說比較簡單,在後臺程式碼中,找到要新增程式碼的Series,通過它下面Points的Add、AddXY、AddY等方法,即可以實現資料的新增.例如:
-->double t;
for(t
= 0; t
<= (2.5
* Math.PI); t += Math.PI/6)
{
double
ch1 = Math.Sin(t);
double
ch2 = Math.Sin(t-Math.PI/2);
Chart1.Series[ "Channel
1"].Points.AddXY(t,
ch1);
Chart1.Series["Channel
2"].Points.AddXY(t,
ch2);
}
(Chart1為圖表的名字,Channel 1、Channel 2分別表示兩個Series資料序列)
執行結果如下圖:(有幾個series,X軸上就有幾個不同的柱子,這裡有兩個,所以有兩個!)