chart控件做实时曲线显示_C# 生成chart代码
时间: 2024-05-03 09:17:01 浏览: 166
以下是C#中使用Chart控件实现实时曲线显示的示例代码:
```csharp
using System;
using System.Windows.Forms.DataVisualization.Charting;
public partial class Form1 : Form
{
private int count = 0;
private Random rand = new Random();
private Timer timer = new Timer();
public Form1()
{
InitializeComponent();
// 设置定时器
timer.Interval = 1000;
timer.Tick += timer_Tick;
}
private void Form1_Load(object sender, EventArgs e)
{
// 设置Chart控件
chart1.Series.Clear();
chart1.Series.Add("Data");
chart1.Series[0].ChartType = SeriesChartType.Line;
chart1.Series[0].BorderWidth = 2;
chart1.ChartAreas[0].AxisX.Minimum = 0;
chart1.ChartAreas[0].AxisX.Maximum = 10;
chart1.ChartAreas[0].AxisY.Minimum = 0;
chart1.ChartAreas[0].AxisY.Maximum = 100;
}
private void buttonStart_Click(object sender, EventArgs e)
{
// 启动定时器
timer.Start();
}
private void timer_Tick(object sender, EventArgs e)
{
// 添加数据
double y = rand.Next(0, 100);
chart1.Series[0].Points.AddXY(count, y);
count++;
// 移动X轴
chart1.ChartAreas[0].AxisX.Minimum = count - 10;
chart1.ChartAreas[0].AxisX.Maximum = count;
// 刷新图表
chart1.Invalidate();
}
}
```
这个示例中,我们使用了一个定时器来模拟实时数据的输入,每秒钟添加一个随机数作为数据点。每次添加数据点之后,我们移动X轴的范围,使得图表显示的是最近10个数据点的曲线。最后,我们调用 `Invalidate` 方法来刷新图表显示。
阅读全文