1. 程式人生 > 程式設計 >c# 實時曲線圖示例程式碼

c# 實時曲線圖示例程式碼

示例目的:使用時間器新增曲線圖的點,以達到實時描繪曲線圖的效果。X軸顯示時分,Y軸顯示0-20的隨機數

1. 必須安裝DevExpress控制元件,沒有安裝的朋友可以使用下面的連結下載安裝

https://www.jb51.net/softs/547627.html

2. 新建Windows窗體應用程式,直接在工具箱搜尋ChartControl並使用改元件

c# 實時曲線圖示例程式碼

3. 新增曲線圖,並設定其屬性

當拖拉該元件到窗體設計頁面時,會彈出【Chart Designer】,可在此處新增曲線圖,並設定其屬性

3.1. Series Collection:在此處新增曲線圖,例項新增的是Line Series下的Line曲線

GENERAL-LabelsVisibility:顯示點對應Y軸的數值

VIEW:MARKER OPTIONS:線上的實心點設定

VIEW:APPEARANCE:線的設定

c# 實時曲線圖示例程式碼

3.2 因為時模擬的資料,所以我們要設定X軸的引數型別為自定義

c# 實時曲線圖示例程式碼

4. 開始實現功能

using DevExpress.XtraCharts;
using System;
using System.Windows.Forms;

namespace ChartControl
{
 public partial class Form1 : Form
 {
  private const int _pointsCount = 15; //固定保留15個點
  private int _hour = 0;
  private int _minute = 0;
  private SeriesPointCollection _points;

  public Form1()
  {
   InitializeComponent();
   _points = chartControl1.Series[0].Points;
  }

  private void timer1_Tick(object sender,EventArgs e)
  {
   if (_minute >= 60)
   {
    _hour += 1;
    _minute = 0;
   }
   if (_hour == 24)
   {
    _hour = 0;
   }
   if (_points.Count >= _pointsCount)
   {
    _points.RemoveAt(0);
   }
   var argument = $"{_hour.ToString().PadLeft(2,'0')}:{_minute.ToString().PadLeft(2,'0')}"; // X軸資料
   var value = Math.Round(new Random().NextDouble() * 20,2); // Y軸資料
   var seriesPoint = new SeriesPoint(argument,value);
   _points.Add(seriesPoint);
   _minute += 1;
  }
 }
}

5. 啟用計時器,檢視效果

c# 實時曲線圖示例程式碼

c# 實時曲線圖示例程式碼

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

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

以上就是c# 實時曲線圖示例程式碼的詳細內容,更多關於C# 實時曲線圖的資料請關注我們其它相關文章!