Winformでリアルタイムグラフを描画する方法

WinFormでリアルタイムの折れ線グラフを描画するには、次の手順に従います。

  1. 新しいWinFormプロジェクトを作成する。
  2. チャート コントロールをフォームに追加します。ツールボックスからチャート コントロールを探し、フォーム上にドラッグ アンド ドロップします。
  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();
            
            // 设置图表的样式
            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("数据");
            chart1.Series["数据"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart1.Series["数据"].Color = Color.Blue;

            // 设置定时器
            timer.Interval = 1000; // 每隔1秒钟更新一次数据
            timer.Tick += Timer_Tick;
            timer.Start();
        }

        private void Timer_Tick(object sender, EventArgs e)
        {
            // 生成随机数据
            double x = random.Next(0, 100);
            double y = random.Next(0, 100);

            // 添加数据到图表中
            chart1.Series["数据"].Points.AddXY(x, y);

            // 只保留最新的100个数据点
            if (chart1.Series["数据"].Points.Count > 100)
            {
                chart1.Series["数据"].Points.RemoveAt(0);
            }
        }
    }
}
  1. プログラムを実行すれば、リアルタイムのグラフが表示されます。1秒ごとに生成されるランダムなデータ点がグラフに追加され、最新100個のデータのみ表示されています。

チャートコントロールを使用するには、最初にSystem.Windows.Forms.DataVisualizationライブラリをプロジェクトに追加する必要があります。

bannerAds