cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡
《LabVIEW宝典》LabWindows/CVI论坛精华贴NET0816以太网数据采集卡
查看: 18691|回复: 189

[原创]获取Graph控件波形坐标例程

[复制链接]
发表于 2009-6-23 12:22:07 | 显示全部楼层 |阅读模式
本帖最后由 netcreature 于 2009-6-24 10:25 编辑

程序演示了如何获取Graph控件中波形数据的坐标,以及光标在面板和Graph控件中的相对坐标。效果图:

对于随机数据——如白噪声信号,相对比较复杂一点。此处不再演示!
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2009-6-23 17:25:51 | 显示全部楼层
发表于 2009-6-23 22:04:45 | 显示全部楼层
发表于 2009-6-24 11:54:14 | 显示全部楼层
好东西,先下来看下。
发表于 2009-6-24 12:27:40 | 显示全部楼层
呵呵。学习一下
发表于 2009-6-24 14:17:03 | 显示全部楼层
发表于 2009-6-26 12:38:26 | 显示全部楼层
楼主,谢谢你的程序,我仔细看了下你的代码,很有启发
我想把这功能加到采集系统中,可是在判断是否显示的时候遇到了问题,请问楼主该如何解决
 楼主| 发表于 2009-6-26 13:59:45 | 显示全部楼层
你又没有说清楚究竟遇到了什么问题,叫我如何回答?
发表于 2009-6-28 00:40:49 | 显示全部楼层
发表于 2009-6-29 16:32:11 | 显示全部楼层
发表于 2009-6-30 09:53:58 | 显示全部楼层
不好意思,是我没有说清楚,我想解决的问题是:显示的曲线为采集到得数据(而不是用函数生成的数据),如何在这种情况下也能实现当鼠标移动到曲线上时显示坐标,否则不显示!
发表于 2009-6-30 15:15:35 | 显示全部楼层
好东西哦,不过如果曲线是有随机数绘制的,在判断的这个模块就有难度,不知道斑竹如何解决
 楼主| 发表于 2009-6-30 16:39:13 | 显示全部楼层
对于随机数据(如白噪声、采样信号等),一般只是在关键点的数据是有效的,两点之间的数据是通过插值得到的(一般为直线插值);
因此,我们需要通过GetPlotAttribute(panelHandle,ControlID,plotHandle,ATTR_PLOT_XDATA/YDATA,...)将绘图缓冲区的数据拷贝出来,然后,针对鼠标在不同X轴区间,通过直线插值,来得到相应Y轴坐标(在关键点的X点,则对应关键Y点)。
算法比较繁琐,但是肯定能够实现!
发表于 2009-7-1 08:39:58 | 显示全部楼层
发表于 2009-7-1 15:53:15 | 显示全部楼层
恩,我用的也是版主在13楼的做法,可是在实施过程中却发现了一个问题,问题如下:
GetPlotAttribute(panel,PANEL_GRAPH,handle,ATTR_PLOT_YDATA,&y);
但每次运行时总会提示:“Argument too small.”错误点是在参数y上,而参数y我定义的就为double型。
请问这是什么原因?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|cpubbs论坛. ( 粤ICP备09171248号

GMT+8, 2017-11-21 16:08 , Processed in 0.366310 second(s), 11 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表