关于TeeChart使用我会持续更新
关于TeeChart使用我会持续更新
这篇文章中我是在Winform窗体使用TeeChart2011控件,通过定时器实现了实时绘制曲线图(三个序列)。
先上一下效果图:
1.TeeChart2011.ocx的注册
TeeChart2011.ocx下载地址
下载好TeeChart2011.ocx后,32位系统将其放在C:\WINDOWS\System32目录下,64位系统将其放在C:\WINDOWS\SysWOW64,在该目录下以管理员身份运行命令提示符(可以再该目录下找到cmd.exe,以管理员身份运行即可),通过regsvr32命令注册该控件,我的64位系统,图示如下:
注册成功会弹出以下提示:
如果想要长期使用的话,注册前请将系统时间调至2000/1/1,注册后调回即可。
如果注销该控件的话,可以通过regsvr32 -u指令。
2.TeeChart控件的添加
(1)新建一个WinForm窗体程序,左侧工具栏新建一个选项卡,直接将System32或SysWOW64目录下的TeeChart2011.ocx拖拽到创建的选项卡中即可。
(2)拖拽一个TeeChart Pro Activex control到窗体上,拉伸到合适大小。
现在我们需要了解一下TeeChart的基本知识
a.axTChart:我们添加到窗体上的TeeChart控件。
b.series:数据序列(实际上就是我们画出的一条曲线或一个其他图形)。
c.axis:坐标轴(包含上下左右以及纵深轴,这里我们只用到底轴和左轴,即x轴和y轴)。
d.AddSeries():向axTChart添加一个数据序列。
e.AddXY():向Series添加一个点。
3.绘制简单的曲线图
有了这些知识我们就可以开始创建第一个曲线图了:
private void Form1_Load(object sender, EventArgs e)
{
//添加数据序列,并设置绘图类型
axTChart1.AddSeries(ESeriesClass.scFastLine);
//设置底轴和左轴的最大值最小值
axTChart1.Axis.Bottom.SetMinMax(0, 100);
axTChart1.Axis.Left.SetMinMax(0, 20);
//添加数据点
for (int i = 0; i < 100; i++)
{
axTChart1.Series(0).AddXY(i, 0.15 * i, "", 0);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
4.动态绘图
根据以上内容,已经可以实现对已有数据一次性完成绘图,但是如果想要动态绘图,可以通过定时器来实现。代码如下。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 200ms定时器
/// </summary>
System.Timers.Timer t = new System.Timers.Timer(200);
/// <summary>
/// 用于生成随机数
/// </summary>
Random rd = new Random();
/// <summary>
/// x坐标
/// </summary>
int point_X = 0;
/// <summary>
/// y坐标
/// </summary>
int point_Y = 0;
private void Form1_Load(object sender, EventArgs e)
{
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
}
/// <summary>
/// 定时器触发绘图事件
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private void theout(object source, System.Timers.ElapsedEventArgs e)
{
for (int i = 0; i < 3; i++)
{
//生成0-20中间的随机数
point_Y = rd.Next(20);
axTChart1.Series(i).AddXY(point_X, point_Y, "", 0);
point_X++;
}
}
private void btn_DrawPoints_Click(object sender, EventArgs e)
{
axTChart1.RemoveAllSeries();
axTChart1.Axis.Bottom.SetMinMax(0, 100);
axTChart1.Axis.Left.SetMinMax(0, 20);
for (int i = 0; i < 3; i++)
{
//将series加载到TeeChart控件上
axTChart1.AddSeries(ESeriesClass.scFastLine);
}
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
}
}
---------------------
作者:DurableHumor
来源:CSDN
原文:https://blog.csdn.net/my_clear_mind/article/details/79741020
版权声明:本文为博主原创文章,转载请附上博文链接!
关于TeeChart使用我会持续更新的更多相关文章
- 总结js常用函数和常用技巧(持续更新)
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...
- 私人网盘系统2.0—全部升级为layUI+PHP(持续更新中)shang
网盘系统2.0 上周,我做了第一版的“私人网盘系统”,http://www.cnblogs.com/sunlizheng/p/7822036.html 没看过的朋友可以去看一下,这周在家升级做了第 ...
- spring web 脚手架 (持续更新中...)
spring web 脚手架 项目地址: https://github.com/MengW9/scafflod.git 还有觉得哪些可以加上去的配置,欢迎各位拍砖,我会持续更新,大家共同进步 一个通用 ...
- 2020/1/29 PHP代码审计之进一步学习XSS【持续更新】
0x00 上午学习了XSS漏洞,中午吃饭想了想,还是思考的太浅层了,这种老生常谈的东西对于现在的我意义不大.现在我需要的是思考.于是就有了这个随笔.在本文中,我会持续更新一些XSS的深入思考,payl ...
- 4W字的后端面试知识点总结(持续更新)
点赞再看,养成习惯,微信搜索[三太子敖丙]关注这个互联网苟且偷生的工具人. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的 ...
- Unity 相关经典博客资源总结(持续更新)
就作为一个记录吧,把平时看过的Unity相关的一些好的Blog记录并分享. 好的论坛: Unity官方脚本 点评:这个不用说了,最核心的内容,理解整个Unity引擎的方方面面,梳理结构. Unity ...
- 【转】Unity 相关经典博客资源总结(持续更新)
原文:http://blog.csdn.net/prothi/article/details/20123319 就作为一个记录吧,把平时看过的Unity相关的一些好的Blog记录并分享. 好的论坛: ...
- Vue.js2.0中的变化(持续更新中)
最近自己在学习Vue.js,在看一些课程的时候可能Vue更新太块了导致课程所讲知识和现在Vue的版本不符,从而报错,我会在以后的帖子持续更新Vue的变化与更新,大家也可以一起交流,共同监督学习! 1. ...
- Elasticsearch 思维导图集锦(持续更新...)
目录 引言 思维导图 全文搜索 Elastic 基础 Query DSL Multi Match Query 系列文章列表 参考 引言 本文主要是对 elasticsearch 的一些知识点使用思维导 ...
随机推荐
- centos6.5编译安装php7
1.安装依赖软件库: yum install -y libxml2-devel libtool* curl-devel libjpeg-devel libpng-devel freetype-deve ...
- the Captain题解;
BZOJ 4152 很显然这个题是让找最短路: 这种通过一个节点到达另一个点的路径我们可以想到dijkstra,然后这道题我们可以看到点是比较多的,所以我们怎么存图呢? 首先我们对于任意三个点,A(x ...
- Codeforces 375C Circling Round Treasures - 最短路 - 射线法 - 位运算
You have a map as a rectangle table. Each cell of the table is either an obstacle, or a treasure wit ...
- 无旋转Treap简介
无旋转Treap是一个神奇的数据结构,能够支持插入,删除,查询k大,查询某个数的排名,查询前驱后继,支持各种区间操作和持久化.基于旋转的Treap无法实现区间反转等操作,但是无旋Treap可以轻易地支 ...
- 单用户模式破解root密码
- Selenium 15: How to Run Parallel Tests Using Selenium Grid and JUnit
In this post, I will give two techniques and describe how to run your selenium tests in parallel by ...
- HDU - 1875 畅通工程再续【最小生成树】
Problem Description 相信大家都听说一个"百岛湖"的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现.现在政府决定大力发展百岛湖 ...
- fedora安装了phpmyadmin后, mariadb无法启动?
参考:http://www.linuxidc.com/Linux/2015-10/123945.htm where, which, when,等不但可以用在从句中, 而且可以用在 动词不定式中, 如: ...
- P3041 [USACO12JAN]视频游戏的连击Video Game Combos
思路 简单的AC自动机上dp,暴力跳fail向子节点直接转移即可 代码 #include <cstdio> #include <algorithm> #include < ...
- Validation in jQuery
jquery.validate.js github地址 官方主页 doc demo jquery-validation-unobtrusive github地址 demo doc