C# chart控件实时动态显示数据
2014-08-04 18:51
811 查看
这里介绍了一个最简单的实时显示数据的完整示例,
本文参考了 使用MSChart实时动态显示折线图 ,谢谢原作者的分享。
平台:VS2013,C#windows程序。
源代码下载:http://download.csdn.net/detail/lj22377/7713939
1、首先,将chart控件添加到窗口。
2、设置chart - series 主要t属性:
2.1 IsXValueIndexed = true;
2.2 XValueType = Time;
3、编写初始化函数:
6、完整代码如下:
本文参考了 使用MSChart实时动态显示折线图 ,谢谢原作者的分享。
平台:VS2013,C#windows程序。
源代码下载:http://download.csdn.net/detail/lj22377/7713939
1、首先,将chart控件添加到窗口。
2、设置chart - series 主要t属性:
2.1 IsXValueIndexed = true;
2.2 XValueType = Time;
3、编写初始化函数:
private void InitChart() { DateTime time = DateTime.Now; chartTimer.Interval = 1000; chartTimer.Tick += chartTimer_Tick; chartDemo.DoubleClick += chartDemo_DoubleClick; Series series = chartDemo.Series[0]; series.ChartType = SeriesChartType.Spline; chartDemo.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss"; chartDemo.ChartAreas[0].AxisX.ScaleView.Size = 5; chartDemo.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true; chartDemo.ChartAreas[0].AxisX.ScrollBar.Enabled = true; chartTimer.Start(); }4、编写timer事件:
void chartTimer_Tick(object sender, EventArgs e) { Random ra = new Random(); Series series = chartDemo.Series[0]; series.Points.AddXY(DateTime.Now, ra.Next(1, 10)); chartDemo.ChartAreas[0].AxisX.ScaleView.Position = series.Points.Count - 5; //throw new NotImplementedException(); }5、编写chart双击事件。(因为滑动条可以隐藏,隐藏之后不知道怎么恢复,所以就编写了这个双击事件,以恢复滑动条)
void chartDemo_DoubleClick(object sender, EventArgs e) { chartDemo.ChartAreas[0].AxisX.ScaleView.Size = 5; chartDemo.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true; chartDemo.ChartAreas[0].AxisX.ScrollBar.Enabled = true; //throw new NotImplementedException(); }
6、完整代码如下:
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;
using System.Windows.Forms.DataVisualization.Charting; //需要添加的命名空间
namespace ChartRealTimeShow
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
InitChart();
}
System.Windows.Forms.Timer chartTimer = new System.Windows.Forms.Timer();
private void InitChart() { DateTime time = DateTime.Now; chartTimer.Interval = 1000; chartTimer.Tick += chartTimer_Tick; chartDemo.DoubleClick += chartDemo_DoubleClick; Series series = chartDemo.Series[0]; series.ChartType = SeriesChartType.Spline; chartDemo.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss"; chartDemo.ChartAreas[0].AxisX.ScaleView.Size = 5; chartDemo.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true; chartDemo.ChartAreas[0].AxisX.ScrollBar.Enabled = true; chartTimer.Start(); }
void chartDemo_DoubleClick(object sender, EventArgs e) { chartDemo.ChartAreas[0].AxisX.ScaleView.Size = 5; chartDemo.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true; chartDemo.ChartAreas[0].AxisX.ScrollBar.Enabled = true; //throw new NotImplementedException(); }
void chartTimer_Tick(object sender, EventArgs e) { Random ra = new Random(); Series series = chartDemo.Series[0]; series.Points.AddXY(DateTime.Now, ra.Next(1, 10)); chartDemo.ChartAreas[0].AxisX.ScaleView.Position = series.Points.Count - 5; //throw new NotImplementedException(); }
}
}
相关文章推荐
- C#串口采集短信GSM chart图表使用示例 保存数据到access数据库和每日.txt文件并实时显示各参数曲线
- 2 C#串口或TCP远程采集数据 chart图表使用示例 保存数据到access数据库和每日.txt文件并实时显示各参数曲线
- VS2003 C#:重写键盘响应事件、动态创建控件、创建线程、在线程中使用委托在界面显示数据
- c#动态创建自定义的控件及显示控件查找控件
- 动态绘圆根据接收数据实时显示_在后台绘图显示实例
- C#后台制作之数据库(Access数据库+datagirdview控件显示+串口数据存储)
- C# 调用带参数的控制台程序 并将命令行输出的内容实时输出至窗体中的显示控件
- 以曲线或柱状图实时显示数据的控件
- C#中使用DataGridView控件显示DataTable中的数据
- [C#] 检索数据库并用DataGridView 控件显示数据.
- DevExpress 图表控件:ChartControl 动态绑定数据
- ZedGraph控件能够显示动态或静态数据
- C#运用ADO.net动态创建excle并进行相应的数据修改显示
- winform,DataGridView绑定数据后更改列属性、动态创建(用一个控件显示多表适用)
- 使用嵌套 Repeater 控件和 Visual C# .Net 显示分层数据
- C# 读取文本内容,在Dev控件中显示数据
- C# DataGrid控件数据显示不全时后面加"..."
- C# 动态生成窗口中的控件不显示的解决方法
- FusionChart实现柱状图、饼状图的动态数据显示 附Demo
- vc 在edit控件中动态插入数据滚动显示