




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第C#动态绘制多条曲线的方法本文实例为大家分享了C#动态绘制多条曲线的具体代码,供大家参考,具体内容如下
实时绘制多条曲线,纵轴为数值,横轴为时间,精确到毫秒
实现效果如下:
代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespacechartTest
publicpartialclassForm1:Form
{
privateintmaxSize=20;
//图表显示的数据最大数量
privateQueuestringgetX=newQueuestring
//存储x坐标
privateQueueInt32getY=newQueueint
//存储y坐标
System.Timers.Timertimer1=newSystem.Timers.Timer();
publicForm1()
{
InitializeComponent();
}
//获取时间轴横坐标
privatestring
setX()
{
stringtime=DateTime.Now.ToString("mm:ss.fff");
/*if(getX.Count15)
{
getX.Dequeue();
}
else
{
getX.Enqueue(time);
}*/
returntime;
}
//获取值纵坐标
privateint
setY1()
{
inty=newRandom().Next(-100,0);
/*if(getY.Count15)
{
getY.Dequeue();
}
else
{
getY.Enqueue(y);
}*/
returny;
}
privateintsetY2()
{
inty=newRandom().Next(-200,100);
/*if(getY.Count15)
{
getY.Dequeue();
}
else
{
getY.Enqueue(y);
}*/
returny;
}
privateintsetY3()
{
inty=newRandom().Next(100,300);
/*if(getY.Count15)
{
getY.Dequeue();
}
else
{
getY.Enqueue(y);
}*/
returny;
}
privatedoublesetY4()
{
doubley0=newRandom().Next(100,300);
doubley=y0*0.1;
/*if(getY.Count15)
{
getY.Dequeue();
}
else
{
getY.Enqueue(y);
}*/
returny;
}
//将坐标点添加进系列进行绘图
privatevoidpaint()
{
try
{
//series1
if(chart1.Series[0].Points.CountmaxSize)
{
chart1.Series[0].Points.RemoveAt(0);
chart1.Series[0].Points.AddXY(setX(),setY1());
}
else
{
chart1.Series[0].Points.AddXY(setX(),setY1());
}
//series2
if(chart1.Series[1].Points.CountmaxSize)
{
chart1.Series[1].Points.RemoveAt(0);
chart1.Series[1].Points.AddXY(setX(),setY2());
}
else
{
chart1.Series[1].Points.AddXY(setX(),setY2());
}
//series3
if(chart1.Series[2].Points.CountmaxSize)
{
chart1.Series[2].Points.RemoveAt(0);
chart1.Series[2].Points.AddXY(setX(),setY3());
}
else
{
chart1.Series[2].Points.AddXY(setX(),setY3());
}
//series4
if(chart1.Series[3].Points.CountmaxSize)
{
chart1.Series[3].Points.RemoveAt(0);
chart1.Series[3].Points.AddXY(setX(),setY4());
}
else
{
chart1.Series[3].Points.AddXY(setX(),setY4());
}
}
catch
{}
}
privatevoidtimer2_Tick(objectsender,EventArgse)
{
setX();
setY1();
setY2();
setY3();
setY4();
paint();
//调用画图方法,显示动态折线图
}
privatevoidbtn_start_Click(objectsender,EventArgse)
{
if(btn_start.Text.Equals("开始"))
{
btn_start.Text="停止";
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初级烹调考试题及答案
- 分级检验考试题及答案
- 谷歌运营面试题库及答案
- 方城医疗面试题及答案
- T/CAEPI 62-2023颗粒活性炭吸附-氮气脱附溶剂回收装置技术要求
- T/CAEPI 24-2019袋式除尘用超细面层滤料技术要求
- 《小学美术新课标》心得体会模版
- T/CADBM 7-2018墙布
- 定制家具定货合同范本
- 个人商铺转让合同范本
- 矿山采掘计划终稿
- 电磁场与电磁波电磁波的辐射
- 四羊方尊专题知识
- 【教案】 电源与电流 教学设计 -2022-2023学年高二上学期物理人教版(2019)必修第三册
- GB/T 40805-2021铸钢件交货验收通用技术条件
- GB 18401-2003国家纺织产品基本安全技术规范
- 《科研创新实践》课程教学大纲
- 报价单模板及范文(通用十二篇)
- 开发票申请单
- 五年级异分母分数加减法第一课时课件
- 学校食堂操作流程图
评论
0/150
提交评论