C# chart控件实时动态显示数据
这里介绍了一个最简单的实时显示数据的完整示例,
本文参考了 使用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# chart控件实时动态显示数据相关推荐
- C#Chart控件 获取曲线上点的信息
使用Chart控件实时画线时,鼠标知道某个点上时,要提示这个点的坐标信息. 我对曲线的ToolTip属性进行了设置,结果是除了X轴上的点,其他的点都无法提示信息.如下图所示: 此时可以用GetTool ...
- 怎样把vc6的MSComm控件接受的数据实时的显示在编辑框,并把数据实时惠存txt文件中
怎样把vc6的MSComm控件接受的数据实时的显示在编辑框,并把数据实时存入txt文件中 我在做一个基于VC6的MSComm控件的电机上位机控制,数据帧格式采用9600bps,8位数据位,奇校验,1位 ...
- C#在chart控件中实现图上内插数据点功能
C#的chart控件可以轻松实现数据的查看,但是我们却没法轻易地对数据进行交互式编辑,所以前期我开发了chart控件数据点的框选.删除.平移功能,后来又开发了chart控件漫游功能.在我自己进行数据处 ...
- C#中的Chart控件——当数据源很多时可以显示进度条拉动观察,也可以记录到后台文本详细对照
C#中的Chart控件--当数据源很多时可以显示进度条拉动观察,也可以记录到后台文本详细对照 本文源码下载地址:https://download.csdn.net/download/qq_427579 ...
- 在 ASP.NET MVC 中使用 Chart 控件
在 .NET 3.5 的时候,微软就提供了一个 Chart 控件,网络上有大量的关于在 VS2008 中使用这个控件的文章,在 VS2010 中,这个控件已经被集成到 ASP.NET 4.0 中,可以 ...
- C# chart控件基础使用
基本介绍:chart(图表) 功能:主要用来绘制折线图,柱状图与饼状图,也可达到动态效果(例如作示波器): 需要说明 一个chart可以包含多个chartArea. chartArea是具体的坐标区域 ...
- C#chart控件绘制折线图、柱状图、饼图、雷达图
转载来源:https://blog.csdn.net/u011854789/article/details/82946553 参考链接: http://www.cnblogs.com/winshe/a ...
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
原文有备份,如有错误和需要改进的地方,请不吝指正会继续修改的 8个月没写博客了- -,一来是有不想继续干开发的想法,二来是赖的写,三来还是不想总结.所以为了继续坚持自己的开发和总结的信念,总结一下C# ...
- 使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年11月19日为止,目前已经更新了 149 篇,专栏完成度为 49.6%. 作者简介 Jerry ...
最新文章
- 新手探索NLP(八)——序列标注
- MxGraph从入门到精通之1:运行HelloWorld示例程序
- 沈阳航空航天大学 计算机学院 罗,沈阳航空航天大学计算机学院院长率队来校交流考察...
- jmeter将响应结果由Unicode转码成中文展示
- [转]IP动态切换脚本
- 统计单词个数(划分型)
- 美团AI全景图:吃喝玩乐背后的黑科技
- mysql jquery tree_php mysql js实现树形菜单代码
- php批量getshell,任意文件上传引发的批量Getshell到服务器 - WileySec's Blog
- 计算机录屏幕和声音的软件是什么,电脑录屏软件带声音哪个好用 电脑录屏软件带声音软件...
- 怎么用电脑屏幕录制功能录制游戏视频
- 在计算机运行时 把程序和数据存放在内存中,单选(2.5分) 在计算机运行时,把程序和数据一样存放在内存中,这是1946年由__________领导的小组正式提出并论证的。...
- Python 将图片合成视频
- 95后程序员月薪2万背着电脑送外卖,送单途中帮人修复bug
- C语言中-条件编译#ifdef的妙用详解_透彻
- 整数规划之分支切割算法
- python滤波与图像去噪
- 缠论中枢的判断以及应用(完整版)
- iOS 制作推送证书的流程 超详细!!!!!
- 软银集团计划针对日本国内散户发行45亿美元债券