1. 程式人生 > WINDOWS開發 >C# 使用ChartControl控制元件製作曲線圖

C# 使用ChartControl控制元件製作曲線圖

示例目的:使用時間器新增曲線圖的點,以達到實時描繪曲線圖的效果。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     {
 9
private 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. 啟用計時器,檢視效果

技術分享圖片

技術分享圖片

有其他需求可以檢視控制元件屬性進行修改,我在這裡就不詳述了。

例項原始碼連結:https://github.com/Jcanc/ChartControl