社区
C#
帖子详情
c# zedGraph绘制实时数据的散点图
xuehan1108
2009-12-17 04:02:22
看了几个有关zedGraph画动态曲线的例子,都采用Timer定时,来控制曲线的动态时间。但我的数据是下位机实时采集得到的数据,通过串口Oncomm事件传递给Pc,我现在想画其实时的曲线,不用Timer能实现吗?坐标自动收缩能实现吗?
...全文
1212
16
打赏
收藏
c# zedGraph绘制实时数据的散点图
看了几个有关zedGraph画动态曲线的例子,都采用Timer定时,来控制曲线的动态时间。但我的数据是下位机实时采集得到的数据,通过串口Oncomm事件传递给Pc,我现在想画其实时的曲线,不用Timer能实现吗?坐标自动收缩能实现吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
美丽海洋
2011-02-12
打赏
举报
回复
不知道这个问题解决了没有?
我也做相同的功能曲线,我还遇到问题就是为什么接收数据时间总偏后怎么回事;
比如发送数据频率是20;我30s内应该接受到600个数据,但是实际上才接受不到600个;不知道怎么会出现这种问题?请赐教。
hou_kui
2010-10-24
打赏
举报
回复
怎么画散点图呢?顶
xuehan1108
2009-12-25
打赏
举报
回复
现在有个问题啊。用ZedGraph画图的时候,我的X坐标为HH:mm:ss格式,但目前X轴全部显示的00:00:00X轴这样定义的 myPane.XAxis.Scale.Format = "HH:mm:ss";//横轴格式
myPane.XAxis.Type = AxisType.Date;
string[] labels = new string[dt.Rows.Count];
for(int i=0;i<dt.Rows.Count;i++)
{
lables[i] = Convert.ToDateTime(dt.Rows[i]["RecTime"]).ToString("HH:mm:ss");
}
myPane.XAxis.Scale.TextLabels = labels;
焱rock
2009-12-21
打赏
举报
回复
我在接收数据的时候确实有些问题。这部分你是怎么做的呢?
[/Quote]
如果下位机是一直在发送数据的话,我觉得还是要用DataRecieved事件或者新开线程来专门接收数据才行的,要不然会有缓冲区大小出问题等等异常。另外按照我的理解你的意思应该是用一个按钮来开启一个串口。开启之后能不关就不关呗。
串口名字:serialport.PortName ="COM1";
xuehan1108
2009-12-21
打赏
举报
回复
#9楼 得分:0回复于:2009-12-20 18:28:24引用 7 楼 xuehan1108 的回复:
(麻雀哈哈),你好。我还有个问题,关于串口响应,我是在通讯设置确认时开始响应Oncomm事件,然后接收下位机的数据。在数据处理的过程中(另外窗体),我是通过点击开始按钮获取下位机的数据,不知道oncomm事件可以在另外的窗体调用不?如何调用?我的下位机是不停的传数据,但是等到合适的时候我才在处理数据的函数里获取下位机的数据。
处理数据的过程可以做成static方法吧,另外我有一个疑问:下位机不停的传数据的话,你通过按钮获取数据,你的缓冲区得多大啊?是否这种方式有点不合适?供参考。
我在接收数据的时候确实有些问题。这部分你是怎么做的呢?
xuehan1108
2009-12-21
打赏
举报
回复
还有,MScomm串口号怎么设置啊?我用axMSComm1.CommPort =2;怎么是错的呢?
xuehan1108
2009-12-21
打赏
举报
回复
我的意思是通过按钮获取那一时刻开始的数据,我不是把所有的数据都用于计算。
焱rock
2009-12-20
打赏
举报
回复
[Quote=引用 7 楼 xuehan1108 的回复:]
(麻雀哈哈),你好。我还有个问题,关于串口响应,我是在通讯设置确认时开始响应Oncomm事件,然后接收下位机的数据。在数据处理的过程中(另外窗体),我是通过点击开始按钮获取下位机的数据,不知道oncomm事件可以在另外的窗体调用不?如何调用?我的下位机是不停的传数据,但是等到合适的时候我才在处理数据的函数里获取下位机的数据。
[/Quote]
处理数据的过程可以做成static方法吧,另外我有一个疑问:下位机不停的传数据的话,你通过按钮获取数据,你的缓冲区得多大啊?是否这种方式有点不合适?供参考。
qq2013
2009-12-20
打赏
举报
回复
56666
xuehan1108
2009-12-20
打赏
举报
回复
(麻雀哈哈),你好。我还有个问题,关于串口响应,我是在通讯设置确认时开始响应Oncomm事件,然后接收下位机的数据。在数据处理的过程中(另外窗体),我是通过点击开始按钮获取下位机的数据,不知道oncomm事件可以在另外的窗体调用不?如何调用?我的下位机是不停的传数据,但是等到合适的时候我才在处理数据的函数里获取下位机的数据。
xuehan1108
2009-12-20
打赏
举报
回复
(麻雀哈哈),你好。我还有个问题,关于串口响应,我是在通讯设置确认时开始响应Oncomm事件,然后接收下位机的数据。在数据处理的过程中(另外窗体),我是通过点击开始按钮获取下位机的数据,不知道oncomm事件可以在另外的窗体调用不?如何调用?我的下位机是不停的传数据,但是等到合适的时候我才在处理数据的函数里获取下位机的数据。
xuehan1108
2009-12-20
打赏
举报
回复
(麻雀哈哈),你好。我还有个问题,关于串口响应,我是在通讯设置确认时开始响应Oncomm事件,然后接收下位机的数据。在数据处理的过程中(另外窗体),我是通过点击开始按钮获取下位机的数据,不知道oncomm事件可以在另外的窗体调用不?如何调用?我的下位机是不停的传数据,但是等到合适的时候我才在处理数据的函数里获取下位机的数据。
wuyq11
2009-12-17
打赏
举报
回复
zedgraph
焱rock
2009-12-17
打赏
举报
回复
/// <summary>
/// zedgragh控件刷新线程
/// </summary>
public void DrawPicture()
{
while (true)
{
if (g_cDrawEnable == 1)
{
zedGraphControl2.Refresh();
}
System.Threading.Thread.Sleep(200);
}
}
private void Form1_Load(object sender, EventArgs e)
{
drawPictureThread=new Thread (new ThreadStart (DrawPicture));
drawPictureThread.IsBackground = true;
drawPictureThread.Start();
}
焱rock
2009-12-17
打赏
举报
回复
我做过相关的应用,数据是在串口响应事件中添加到PointPairList中的,实时刷新界面是新起的一个线程,在线程中更新。坐标自动收缩我想就在刷新界面中改变坐标轴的值就行了吧。
C#
使用Z
edGr
aph
制作动态更新的统计图 超级强大
C#
使用Z
edGr
aph
制作动态更新的统计图 超级强大,能生成统计图,折线图,功能和效率超级强大,分享给大家。用法也超级简单,不用必悔。
C#
画统计图(Z
edGr
aph
)
最近要做一个统计分析系统,需要画统计图,听说OWC画图特别慢,而且不好看,ReportView效果不好而且生成图也很慢。于是就找了一个开源的画统计图的系统------Z
edGr
aph
. 选Z
edGr
aph
的另一个主要目的是它的开源代码有.NET2.0的版本,我现在在2005上开发,有2.0的程序当然最好了! Z
edGr
aph
支持折线图、柱状图、饼图。 由于开发的需要,我把Z
edGr
aph
封装起来,作为一个专门的用户控件。
在winform下,利用控件Z
edGr
aph
控件
绘制
折线图
简单但是绝对实用,便于初学者掌握利用z
edgr
aph
绘制
图形的方法,引路而已
Z
edGr
aph
控件画线画点画图
利用开源控件Z
edGr
aph
绘制
图形,给定坐标绘图,绘点,绘线
C#
Winform GDI绘图,使用Z
edGr
aph
控件及Sql Server
数据
库
本程序使用了Z
edGr
aph
控件
绘制
折线图,使用到了一张简单的
数据
库表,解压后有代码源文件、
数据
库脚本、界面运行效果图、界面说明等内容。
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章