C# 使用ChartControl控制元件製作曲線圖
阿新 • • 發佈:2020-06-12
示例目的:使用時間器新增曲線圖的點,以達到實時描繪曲線圖的效果。X軸顯示時分,Y軸顯示0-20的隨機數
1. 必須安裝DevExpress控制元件,沒有安裝的朋友可以使用下面的雲盤連結下載安裝
連結:https://pan.baidu.com/s/1nXPoRsIr_RR95GHtuN4LJg
提取碼:yh98
2. 新建Windows窗體應用程式,直接在工具箱搜尋ChartControl並使用改元件
3. 新增曲線圖,並設定其屬性
當拖拉該元件到窗體設計頁面時,會彈出【Chart Designer】,可在此處新增曲線圖,並設定其屬性
3.1. Series Collection:在此處新增曲線圖,例項新增的是Line Series下的Line曲線
GENERAL-LabelsVisibility:顯示點對應Y軸的數值
VIEW:MARKER OPTIONS:線上的實心點設定
VIEW:APPEARANCE:線的設定
3.2 因為時模擬的資料,所以我們要設定X軸的引數型別為自定義
4. 開始實現功能
1 using DevExpress.XtraCharts; 2 using System; 3 using System.Windows.Forms; 4 5 namespace ChartControl 6 { 7 public partial class Form1 : Form 8 { 9private const int _pointsCount = 15; //固定保留15個點 10 private int _hour = 0; 11 private int _minute = 0; 12 private SeriesPointCollection _points; 13 14 public Form1() 15 { 16 InitializeComponent(); 17 _points = chartControl1.Series[0].Points; 18 } 19 20 private void timer1_Tick(object sender,EventArgs e) 21 { 22 if (_minute >= 60) 23 { 24 _hour += 1; 25 _minute = 0; 26 } 27 if (_hour == 24) 28 { 29 _hour = 0; 30 } 31 if (_points.Count >= _pointsCount) 32 { 33 _points.RemoveAt(0); 34 } 35 var argument = $"{_hour.ToString().PadLeft(2,‘0‘)}:{_minute.ToString().PadLeft(2,‘0‘)}"; // X軸資料 36 var value = Math.Round(new Random().NextDouble() * 20,2); // Y軸資料 37 var seriesPoint = new SeriesPoint(argument,value); 38 _points.Add(seriesPoint); 39 _minute += 1; 40 } 41 } 42 }
5. 啟用計時器,檢視效果
有其他需求可以檢視控制元件屬性進行修改,我在這裡就不詳述了。