5.6 图形化显示数据
大多数控件用来显示二维图形数据,也有一部分控件可以用来显示三维图形数据。
图表(Chart)和图(Graph)。图表和图的功能非常类似,最主要的区别在于当图表控件自带一块缓存,历史数据会被保存在缓存中。
当图表接收到新的数据时,它不会把原来显示的图形清除,而是在原图形基础上再把新数据添加上。
图控件没有缓存,每次接收到新的数据,就会把旧图清除,只显示新的数据。
在实际应用中,图表适合显示低速变化的数据,比如某一程序每秒钟读取并显示一次锅炉的温度数据,这个程序可以使用波形图表控件。这样不但能够显示当前数据,还可以为用户提供历史数据,直接观察到温度的变化趋势。
如果程序显示的是瞬时的高速采集的数据,就无需逐点显示数据了。比如,程序在 0.01 秒内采集了 1000 个被测物体的震动信号数据,即便可以在 0.01 秒内逐个画出 1000 个点,人眼也无法看到绘图的过程。这种情况更适合在采集完全部 1000 个数据后,使用波形图控件一次绘制出全部数据。

在循环外,把生成的数组数据同时传给波形图表和波形图控件,会发现这时候两个控件的行为完全一致:

波形图表和波形图控件都可以用来显示多条波形曲线,一个直觉的想法是:既然一维数组可以表示一条曲线,那么二维数组就应当可以表示多条曲线。
波形数据的一个额外好处是:波形图表和波形图控件可以接受同样格式的数据,并且显示出同样的结果了,比如下面的程序:

波形图控件处理的数据有一个特征,它的时间信号是有序等间隔的;这种数据,通常只需要用一个一维数组,表示每一个时间点上 Y 轴的数据即可
XY 图形控件(XY Graph)
有时候除了波形曲线,我们还需要绘制一些其他类型的曲线,它们的 X 轴可能并不是有序的,或者不是等间隔的。对于这样的数据,就还需要再增加一个一维数组,来表示数据在 X 轴上的每一个数值。这一类由一组对应的 X 和 Y 的值组成的数据,可以使用 XY 图形控件(XY Graph)来显示。
测控领域,常常用它来展示一组采集数据中两个通道的数据之间的关系;在数据统计或人工智能等领域,常常用它来展示一个数据集中,某个特征量的分布,或者两个特征之间的关系等。




使用XY图形控件来绘制利萨茹曲线

浙公网安备 33010602011771号