NI控件之-CWGraph数据捕捉

NI控件之-CWGraph数据捕捉

ID:38202140

大小:60.55 KB

页数:9页

时间:2019-06-07

NI控件之-CWGraph数据捕捉_第1页
NI控件之-CWGraph数据捕捉_第2页
NI控件之-CWGraph数据捕捉_第3页
NI控件之-CWGraph数据捕捉_第4页
NI控件之-CWGraph数据捕捉_第5页
资源描述:

《NI控件之-CWGraph数据捕捉》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、前面介绍了NI控件和它的绘图控件CWGraph绘图功能,由于COM版本的只能显示,不能在控件上做其他操作,所以一些常用的功能如获取距离鼠标最近点的数据点就需要自己实现。以捕捉最近点为例:分析:在绘图的时候一般传入X、Y轴数据,X、Y数据都是同等长度的一维数组,捕捉功能也是再这些数据上做文章,数据有了,只需要对数据进行分析就可以了。根据传入的捕捉点和数组进行分析后,适当的移动鼠标光标当前位置,就可以实现捕捉功能了。这只是一般情况,当然还有特殊情况,比如,在用PlotY()添加数据,这时候只有Y轴数据

2、而没有X轴数据,如何捕捉呢?仔细想想---由于数据都绘图都是一句坐标系绘制的,而我们知道X轴的起始终止坐标值,这样把X轴依据Y轴数据长度等份分成一个数组,这样就可以得到X轴数据,同样可以得到最近值-----实现:其主要部分就在于计算。下面是一个写好的捕捉类/**自动捕捉类,捕捉附近点*只有XY坐标**/publicclassSnapNearPoint{#region字段privateListm_XData=null;//X轴数据privateListm_YData=

3、null;//Y轴数据privatedoublem_XRadio=0.0;//X方向捕捉半径长度privatedoublem_YRadio=0.0;//Y方向捕捉半径长度privateint_SelectIndex=-1;//捕捉到最近点的索引privateSnapMode_Mode=SnapMode.XAndY;//捕捉方式#endregion#region属性//

//设置获取绑定X数据//publicListBindXData{set{m_

4、XData=value;}get{returnm_XData;}}///

///设置获取绑定Y数据///publicListBindYData{set{m_YData=value;}get{returnm_YData;}}//////获取捕捉到数据索引///publicintSelectIndex{get{return_SelectIndex;}}//////获取或设置捕捉点方式///

5、ummary>publicSnapModeMode{set{_Mode=value;}get{return_Mode;}}#endregion#region构造函数、捕捉方法///

///构造函数//////X捕捉长度///Y捕捉长度publicSnapNearPoint(doubleXRadio,doubleYRadio){m_XRadio=XRad

6、io;m_YRadio=YRadio;}///

///获取最近点//////用于捕捉最近点的鼠标点X///鼠标点Y///返回捕捉到的点X轴坐标值///返回捕捉到的点Y轴坐标值publicvoidGetNearPoint(doubleS

7、earchx,doubleSearchy,refdoubleReturnx,refdoubleReturny){try{if(m_XData!=null&&m_YData!=null){switch(_Mode){caseSnapMode.JustX:m_XData.Add(m_XData[m_XData.Count-1]+1);//Graph在绘图时候会从数组索引为1的位置开始绘制,如果不再前面+1数据,则结果会出现少一组(第一位)数据for(inti=0;i

8、++){if(Searchx>=(m_XData[i]-(m_XData[i+1]-m_XData[i])/2.0)&&Searchx<=(m_XData[i+1]-(m_XData[i+1]-m_XData[i])/2.0)){_SelectIndex=i;Returnx=m_XData[i];}}m_XData.RemoveAt(m_XData.Count-1);break;caseSnapMode.JustY:m_YData.Add(m_YData[m_YData.Count

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。