溫馨提示×

怎么用winform畫實時曲線圖

小億
410
2023-11-29 22:34:21

要使用WinForm繪制實時曲線圖,可以按照以下步驟進(jìn)行操作:

  1. 創(chuàng)建一個新的WinForm項目。
  2. 在窗體上添加一個Chart控件??梢栽诠ぞ呦渲姓业紺hart控件并拖拽到窗體上。
  3. 在窗體的代碼文件中添加以下代碼:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace RealTimeChart
{
    public partial class Form1 : Form
    {
        private Random random = new Random();
        private Timer timer = new Timer();

        public Form1()
        {
            InitializeComponent();
            
            // 設(shè)置圖表的樣式
            chart1.ChartAreas[0].AxisX.Minimum = 0;
            chart1.ChartAreas[0].AxisX.Maximum = 100;
            chart1.ChartAreas[0].AxisY.Minimum = 0;
            chart1.ChartAreas[0].AxisY.Maximum = 100;
            chart1.Series.Add("數(shù)據(jù)");
            chart1.Series["數(shù)據(jù)"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart1.Series["數(shù)據(jù)"].Color = Color.Blue;

            // 設(shè)置定時器
            timer.Interval = 1000; // 每隔1秒鐘更新一次數(shù)據(jù)
            timer.Tick += Timer_Tick;
            timer.Start();
        }

        private void Timer_Tick(object sender, EventArgs e)
        {
            // 生成隨機(jī)數(shù)據(jù)
            double x = random.Next(0, 100);
            double y = random.Next(0, 100);

            // 添加數(shù)據(jù)到圖表中
            chart1.Series["數(shù)據(jù)"].Points.AddXY(x, y);

            // 只保留最新的100個數(shù)據(jù)點(diǎn)
            if (chart1.Series["數(shù)據(jù)"].Points.Count > 100)
            {
                chart1.Series["數(shù)據(jù)"].Points.RemoveAt(0);
            }
        }
    }
}
  1. 運(yùn)行程序,即可看到實時曲線圖的效果。定時器每隔1秒鐘生成一個隨機(jī)數(shù)據(jù)點(diǎn),并添加到圖表中。圖表只保留最新的100個數(shù)據(jù)點(diǎn)。

注意:在使用Chart控件前,需要在項目中引用System.Windows.Forms.DataVisualization庫。

0