3.4 图形与图表
LabVIEW利用图形和图表两种显示方式呈现具有恒定速率的数据,两者的区别在于显示和更新方式。
(1)将数据送入图形时,图形不会显示之前绘制的数据而只显示当前的新数据。图形一般用于连续采集数据的快速过程。
(2)与图形相反,图表将新的数据点追加到已显示的数据点上以形成历史记录。在图表中,可结合先前采集到的数据查看当前读数或测量值。当图表中新增数据点时,图表将会滚动显示,即在图表右侧出现新增的数据点,同时旧数据点在左侧消失。图表一般用于每秒只增加少量数据点的慢速过程。图形与图表工作原理的差异如图3-4-1所示。
图3-4-1 图形与图表工作原理的差异
本节内容中的练习会使用正弦函数和余弦函数生成相应的数据以实现波形图、波形图表、XY图的单条曲线和多条曲线显示。
3.4.1 图形和图表的类型
图形和图表的类型如图3-4-2所示。
图3-4-2 图形和图表的类型
仅有LabVIEW完整版和专业版开发系统才提供三维图形控件。
3.4.2 波形图和波形图表
1.波形图
波形图即前面所说的图形显示方式,显示测量值为均匀采集的一条或多条曲线。波形图仅能绘制单值函数,即在y= f (x)中,各点沿X轴均匀分布。例如,一个随时间变化的波形。
1)在波形图中显示单条曲线
波形图可以接收多种数据类型用以显示单条曲线。例如,一个数值数组中的每个数据被视为图形中的点,从x=0开始以1为增量递增x索引。
此外,波形图也可以接收包含初始x值、Δx及y数据数组的簇,还能接收波形数据类型,该类型包含了波形的数据、起始时间和时间间隔。
2)在波形图中显示多条曲线
当波形图接收二维数值类型的数组数据时,数组中的一行即对应一条曲线。波形图将数组中的数据视为图形上的点,从x=0开始以1为增量递增x索引。
将一个二维数组数据类型连接到波形图上,右击波形图,打开快捷菜单,选择“转置数组”命令,数组中的每一列便作为一条曲线显示。
多曲线波形图尤其适用于DAQ设备的多通道数据采集。DAQ设备以二维数组的形式返回数据,数组中的一列代表一个通道的数据。
波形图能够接收包含簇的曲线数组。每个簇包含一个包含y数据的一维数组。内部数组描述了曲线上的各点,外部数组的每个簇对应一条曲线。波形图多曲线显示[Y]簇的数组如图3-4-3所示。
图3-4-3 波形图多曲线显示[Y]簇的数组
若每条曲线所含的元素个数都不同,此种情况应使用曲线数组而不应使用二维数组。例如,从几个通道采集数据且每个通道的采集时间都不相同时,应使用曲线数组而不是二维数组,因为二维数组每一行中元素的个数必须相同。簇数组内部数组的元素个数可各不相同。
波形图允许接收簇的数据,簇中有初始值x、Δx和簇数组。每个簇包含一个含有y数据的一维数组。用“捆绑”函数可将数组捆绑到簇中,或用“创建数组”函数将簇嵌入数组。“创建簇数组”函数可以创建一个包含指定输入内容的簇数组。
波形图可以接收含有 x 值、Δx值和 y 数据数组的簇数组。这种数据类型常用于多曲线波形图,可以用于指定唯一的起始点和每条曲线的X标尺增量。
【练习3-75】
参看图3-4-4,编写正弦、余弦函数(限定x的取值范围)方程,掌握使用波形图绘制单条和多条曲线的原理及方法。
图3-4-4 绘制单条、多条曲线的波形图
2.波形图表
波形图表即前面所说的图表显示方式,是用以显示一条或多条曲线的特殊数值显示控件,可以显示用恒定速率采集到的数据。波形图表会保留来源于此前更新的历史数据,又称缓冲区。
【练习3-76】
参看图3-4-5,编写程序并掌握设置波形图表缓冲区的方法。
1)在波形图表中显示单条曲线
若一次向波形图表发送一个或多个数据值,LabVIEW会将这些数据作为波形图表上的点,从x=0开始以1为增量递增x索引,波形图表将这些输入作为单条曲线上的新数据。
【练习3-77】
参看图3-4-6,编写程序并掌握波形图表通过接收单个或多个数据显示单条曲线的方法。
【练习3-78】
参看图3-4-7,编写程序并掌握波形图表通过接收波形数组方式显示单条曲线的方法。
图3-4-5 配置波形图表缓冲区
图3-4-6 波形图表接收一个或多个数据显示单条曲线
图3-4-7 波形图表接收波形数据显示单条曲线
2)在波形图表中显示多条曲线
若要向波形图表发送多条曲线的数据,可将这些数据捆绑为一个标量数值簇,其中每一个数值代表各条曲线上的单个数据点。
【练习3-79】
参看图3-4-8,编写程序并掌握波形图表通过接收数值数据的簇数组方式显示多条曲线的方法。
图3-4-8 波形图表接收数值数据的簇数组显示多条曲线
【练习3-80】
参看图3-4-9,编写程序并掌握波形图表通过接收波形数据的簇数组方式显示多条曲线的方法。
图3-4-9 波形图表接收波形数据的簇数组显示多条曲线
若运行 VI 前无法确定需显示的曲线数量,或希望在单次更新中传递多个数据点用于多条曲线,可将一个二维数组或波形数组连接到波形图表。默认情况下,波形图表将数组中的每一列作为一条曲线。将二维数组数据类型连接到波形图表,右击该波形图表,打开快捷菜单,选择“转置数组”选项,可将数组中的每一行作为一条曲线。
【练习3-81】
参看图3-4-10,编写程序并掌握波形图表单条曲线、多条曲线及显示方式的设置方法。
图3-4-10 绘制单条、多条曲线的波形图表
图3-4-10 绘制单条、多条曲线的波形图表(续)
3)波形数据类型
波形数据类型包含波形的数据、起始时间和时间间隔。可使用“创建波形”函数创建波形,如图3-4-11所示。
图3-4-11 波形数据的类型
3.XY图
XY图是多用途的笛卡尔绘图对象,用于绘制多值函数,如圆形或具有可变时基的波形。XY图可显示任何均匀采样或非均匀采样的点的集合。
1)在XY图中显示单条曲线
XY图允许接收X数组和Y数组的簇、点数组(每个点是包含x值和y值的一个簇)及复数数组(X轴和Y轴分别显示实部和虚部)三种数据类型用于显示单条曲线。
【练习3-82】
参看图3-4-12,编写程序并掌握XY图接收包含X数组和Y数组的簇,实现显示单条曲线的方法。
图3-4-12 接收包含X数组和Y数组的簇显示单条曲线
【练习3-83】
参看图3-4-13,编写程序并掌握XY图接收点数组显示单条曲线的方法。
图3-4-13 接收点数组显示单条曲线
2)在XY图中显示多条曲线
XY图允许接收三种数据类型以用于显示多条曲线。
【练习3-84】
参看图3-4-14,编写程序并掌握XY图接收曲线数组数据显示多条曲线的方法。
图3-4-14 XY图接收曲线数组显示多条曲线
【练习3-85】
参看图3-4-15,编写程序并掌握XY图接收曲线簇数组数据显示多条曲线的方法。
图3-4-15 XY图接收曲线簇数组数据显示多条曲线
XY 图也能接收曲线簇数组,其中每条曲线是一个复数数组,X 轴和 Y 轴分别显示复数的实部和虚部。
【练习3-86】
如图3-4-16所示,编写一个y=x2和y=x3函数(限定x的取值范围)方程,并掌握利用XY图绘制单条、多条曲线的原理及方法。
XY图中可显示Nyquist平面、Nichols平面、S平面和Z平面。上述平面的线和标签的颜色与笛卡尔线相同,且平面的标签字体无法修改。
图3-4-16 绘制单条、多条曲线的XY图
3.4.3 自定义图形和图表
图形和图表提供了详尽的属性设置项,用于配置图形和图表的外观、提供更多显示信息及突出显示数据等。尽管图形和图表绘制数据的方式不同,但也有一些快捷菜单项是相同的,但有些选项仅适用于特定的图形或图表。
1.多个X标尺和Y标尺
在图形或图表上,使用多个标尺可显示不共享X标尺或Y标尺的多条曲线。
【练习3-87】
参看图3-4-17,编写程序并掌握在波形图、波形图表上添加多个Y标尺的方法。
2.自动调整标尺
所有图形和图表(三维图形除外)会自动启用标尺自动缩放功能,根据连接的数据自动缩放水平和垂直标尺。默认的图形和图表启用自动调整标尺功能,使用自动调整标尺会降低系统的性能。
【练习3-88】
参看图3-4-18,编写程序,掌握自动缩放波形图表Y标尺的方法,并依此类推,尝试对波形图(表)的X标尺设置自动缩放标尺。
图3-4-17 为波形图添加多个Y标尺
图3-4-18 设置波形图表Y标尺自动缩放
3.格式化X标尺和Y标尺
【练习3-89】
参看图3-4-19,编写程序并掌握格式化X标尺和Y标尺的方法。
4.自定义图形和图表的外观
通过图形或图表的快捷菜单项可自定义图形和图表的外观。
【练习3-90】
参看图3-4-20,编写程序并掌握自定义图形和图表外观的基本思路。
5.使用图例
图形和图表的图例用于查看 LabVIEW 在绘图区域绘制的曲线和自定义图形和图表中曲线的外观。图例类的属性可以通过程序自定义。
【练习3-91】
参看图 3-4-21,自行尝试使用“外观”选项卡在图例中添加曲线,并掌握使用属性节点编程方式在图例中添加曲线的方法。
图3-4-19 格式化X标尺和Y标尺
图3-4-20 自定义图形和图表的外观
【练习3-92】
参看图3-4-22,读懂程序设置并编写程序,实现波形图或波形图表曲线可见性设置。
【练习3-93】
参看图3-4-23,读懂程序设置并编写程序,掌握使用图例工具自定义曲线外观的方法。
【练习3-94】
参看图3-4-24,编写程序并掌握为波形图表和波形图的图例添加垂直、水平滚动条的方法。6.图形工具选板
图3-4-21 设置图例的曲线数量
图3-4-22 设置曲线可见
图3-4-23 使用图例工具自定义曲线外观
图3-4-24 为图例添加垂直滚动条
图形工具选板用于在VI运行时对图形或图表进行操作。
【练习3-95】
参看图3-4-25,编写程序并掌握图形工具选板的使用方法。
图3-4-25 图形工具选板
7.自定义图形
每个图形均包含各种选项,用户可自定义图形以满足数据显示的要求。例如,可修改图形游标的行为和外观或配置图形标尺。图3-4-26显示了一个波形图具有的元素。
图3-4-26 一个波形图具有的元素
【练习3-96】
参看图3-4-27,编写程序并掌握游标模式的使用方法。
图3-4-27 游标模式的使用
【练习3-97】
参看图3-4-28,掌握设置禁止游标滚动图的方法。
图3-4-28 设置禁止游标滚动图
【练习3-98】
参看图3-4-29,编写程序并掌握创建、设置波形图注释的方法。
图3-4-29 设置波形图注释
【练习3-99】
参看图3-4-30,编写程序并掌握修改(自定义)波形图注释和外观的方法。
图3-4-30 自定义波形图注释和外观
3.4.4 平滑线条、曲线
平滑线条可改善图形或图表中线条的外观。启用平滑线条绘图,曲线会显得更加光滑。平滑线条绘图不会改变线宽、线条和点的样式。
【练习3-100】
参看图3-4-31,编写程序并掌握波形图线条平滑的设置方法。
图3-4-31 设置波形图线条平滑
3.4.5 标尺图例
标尺图例用于在图形或图表中标注、配置标尺的属性。
【练习3-101】
参看图3-4-32,编写程序并掌握标尺图例的使用方法。
图3-4-32 设置标尺图例
3.4.6 动态格式化图形
动态数据有别于前面介绍的数值型、布尔型等数据类型,动态数据的连线显示为蓝色粗线条,动态数据可以转换为波形标量数组、标量数组。有一些Express VI输出的数据类型就是动态数据,如仿真信号Express VI。将动态数据或波形数据连接至波形图,可自动格式化图例和图形X标尺的时间标识。
【练习3-102】
参看图3-4-33,编写程序并掌握动态格式化图形的目的及使用方法。
图3-4-33 动态化格式数据