这里介绍了一个最简单的实时显示数据的完整示例,

本文参考了 使用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控件实时动态显示数据相关推荐

  1. C#Chart控件 获取曲线上点的信息

    使用Chart控件实时画线时,鼠标知道某个点上时,要提示这个点的坐标信息. 我对曲线的ToolTip属性进行了设置,结果是除了X轴上的点,其他的点都无法提示信息.如下图所示: 此时可以用GetTool ...

  2. 怎样把vc6的MSComm控件接受的数据实时的显示在编辑框,并把数据实时惠存txt文件中

    怎样把vc6的MSComm控件接受的数据实时的显示在编辑框,并把数据实时存入txt文件中 我在做一个基于VC6的MSComm控件的电机上位机控制,数据帧格式采用9600bps,8位数据位,奇校验,1位 ...

  3. C#在chart控件中实现图上内插数据点功能

    C#的chart控件可以轻松实现数据的查看,但是我们却没法轻易地对数据进行交互式编辑,所以前期我开发了chart控件数据点的框选.删除.平移功能,后来又开发了chart控件漫游功能.在我自己进行数据处 ...

  4. C#中的Chart控件——当数据源很多时可以显示进度条拉动观察,也可以记录到后台文本详细对照

    C#中的Chart控件--当数据源很多时可以显示进度条拉动观察,也可以记录到后台文本详细对照 本文源码下载地址:https://download.csdn.net/download/qq_427579 ...

  5. 在 ASP.NET MVC 中使用 Chart 控件

    在 .NET 3.5 的时候,微软就提供了一个 Chart 控件,网络上有大量的关于在 VS2008 中使用这个控件的文章,在 VS2010 中,这个控件已经被集成到 ASP.NET 4.0 中,可以 ...

  6. C# chart控件基础使用

    基本介绍:chart(图表) 功能:主要用来绘制折线图,柱状图与饼状图,也可达到动态效果(例如作示波器): 需要说明 一个chart可以包含多个chartArea. chartArea是具体的坐标区域 ...

  7. C#chart控件绘制折线图、柱状图、饼图、雷达图

    转载来源:https://blog.csdn.net/u011854789/article/details/82946553 参考链接: http://www.cnblogs.com/winshe/a ...

  8. C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性

    原文有备份,如有错误和需要改进的地方,请不吝指正会继续修改的 8个月没写博客了- -,一来是有不想继续干开发的想法,二来是赖的写,三来还是不想总结.所以为了继续坚持自己的开发和总结的信念,总结一下C# ...

  9. 使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年11月19日为止,目前已经更新了 149 篇,专栏完成度为 49.6%. 作者简介 Jerry ...

最新文章

  1. 新手探索NLP(八)——序列标注
  2. MxGraph从入门到精通之1:运行HelloWorld示例程序
  3. 沈阳航空航天大学 计算机学院 罗,沈阳航空航天大学计算机学院院长率队来校交流考察...
  4. jmeter将响应结果由Unicode转码成中文展示
  5. [转]IP动态切换脚本
  6. 统计单词个数(划分型)
  7. 美团AI全景图:吃喝玩乐背后的黑科技
  8. mysql jquery tree_php mysql js实现树形菜单代码
  9. php批量getshell,任意文件上传引发的批量Getshell到服务器 - WileySec's Blog
  10. 计算机录屏幕和声音的软件是什么,电脑录屏软件带声音哪个好用 电脑录屏软件带声音软件...
  11. 怎么用电脑屏幕录制功能录制游戏视频
  12. 在计算机运行时 把程序和数据存放在内存中,单选(2.5分) 在计算机运行时,把程序和数据一样存放在内存中,这是1946年由__________领导的小组正式提出并论证的。‍...
  13. Python 将图片合成视频
  14. 95后程序员月薪2万背着电脑送外卖,送单途中帮人修复bug
  15. C语言中-条件编译#ifdef的妙用详解_透彻
  16. 整数规划之分支切割算法
  17. python滤波与图像去噪
  18. 缠论中枢的判断以及应用(完整版)
  19. iOS 制作推送证书的流程 超详细!!!!!
  20. 软银集团计划针对日本国内散户发行45亿美元债券

热门文章

  1. kali在高清屏幕下如何放大字体与图标
  2. 信息传播渠道多元化日渐明显
  3. 斐讯k2php环境,斐讯K2T SDK编译环境
  4. 强烈推荐 :最用心的运营数据指标解读
  5. 没有预算的新媒体运营如何启动?
  6. springboot yml文件不是绿叶子问题
  7. 为什么?------”人的天性总是高估自己,而低估别人“
  8. PDF拆分技巧——如何在线拆分PDF
  9. 微信是与服务器长连接,java与微信小程序实现websocket长连接.pdf
  10. Python实现QQ定时回复(附源码exe)