底下這張VI Snippet是LabVIEW內建範例中的XY Graph.vi(XY Graph Data Types),

示範了XY分佈圖的使用方法。




XY 分布圖在繪製時有兩種選擇=>

Single Plot(一條線)和Multi Plot(多條線)。

而且這兩種選擇都各有兩類畫法,分別對應兩類資料格式,

所以產生資料時,我們只要選擇其中一類即可。

 

詳細的資料格式如下:

(註: [ ]代表陣列,< >代表群組)


1.Single Plot:

第一類格式=>一個一維陣列(1D Array),其陣列元素是一個群組,此群組只有2個群組元素,分別是「X座標」和「Y座標」。
表示法:[<x1/y1>,<x2/y2>,<x3/y3>,<x4/y4>,...]





第二類格式=>一個群組(cluster),群組內只有2個群組元素,分別是「X座標的一維陣列」和「Y座標的一維陣列」。
表示法: < [x1,x2,x3,x4,......] / [y1,y2,y3,y4,......] >






2.Multi Plot:
第一類格式=> 一個一維陣列,其陣列元素是群組;但群組內的元素只有一個一維陣列,陣列中每個元素又是一個群組,裡面有兩個群組元素,分別是X座標和Y座標。(好像繞口令XD)

表示法:
[ < [<AX1/AY1>,<AX2/AY2>,<AX3/AY3>,<AX4/AY4>,...] >,
  < [<BX1/BY1>,<BX2/BY2>,<BX3/BY3>,<BX4/BY4>,...] >, 
  < [<CX1/CY1>,<CX2/CY2>,<CX3/CY3>,<CX4/CY4>,...] >, ...]

上面每個顏色就是一組資料,可畫出一條線,這種格式可說是Single Plot第一類格式的組合。

 

這個資料格式有點複雜,每一條線(plot)的資料就是一個一維陣列,但因為每條線上點數可能不同,導致每個一維陣列的長度不同,所以無法直接build成二維陣列,而是必須先透過bundle,將其轉換為群組,才能使用build array,組成一個群組陣列,最後再輸入到XY Graph...我個人不建議使用這個資料格式,畢竟太容易搞混了。



第二類格式=> 一個一維的群組陣列,每個群組元素包含兩個物件,分別是X座標的一維陣列、Y座標的一維陣列。
表示法: [ <[Ax1,Ax2,Ax3,Ax4,...] / [Ay1,Ay2,Ay3,Ay4,...]>
          <[Bx1,Bx2,Bx3,Bx4,...] / [By1,By2,By3,By4,...]>
          <[Cx1,Cx2,Cx3,Cx4,...] / [Cy1,Cy2,Cy3,Cy4,...]>, ...]

上面每個顏色就是一組資料,可畫出一條線,這種格式可說是Single Plot第二類格式的組合。





總的來說,我覺得不管是Single Plot還是Multi Plot,都是以第二類畫法比較直觀,也就是說,想要畫XY分布圖時,應該產生第二類格式的資料會比較方便一些。

 

[注意]

在畫Multi Plot的時候,有時候可能因為輸入的資料是兩個不同的類型,

所以需要兩個Y軸的座標(不同單位或是不同比例)。

這時候只要在XY Graph原來的Y軸上按右鍵就可以看到快速選單,

點選Duplicate Scale,就會出現新增的Y軸座標,

然後再點選Swap Side,就可以把它移到右邊去。

 

=============

另外,使用DAQ Express VI的人可以搭配另一種用法,

這個函數叫做Build XY Graph Express VI,

他是屬於Express VI,而非一般的函數。

 

注意!這函數不存在於Function Palette內,

所以你在Block Diagram這邊是找不到的,

而是必須在Front Panel按右鍵進Control Palette內,

然後選擇Modern->Graph->「Ex XY Graph」,

XYGRAPH.png

這個函數才會跟著XY Graph一起出現在Block Diagram!

(目前連Silver和Classic這兩個系列都沒有喔!)

如下圖:

XYGRAPH00.png

這時候只要搭配迴圈,把每一次獲得的最新資料丟入,

他就會自動幫你記憶所有資料點來畫圖了,

類似Waveform Chart有內建資料buffer的效果一樣。

 

參考資料: Build XY Graph Express VI

arrow
arrow
    全站熱搜

    sky 發表在 痞客邦 留言(0) 人氣()