數(shù)據(jù)可視化(Data Visualization)是關(guān)于數(shù)據(jù)視覺表現(xiàn)形式的科學(xué)技術(shù)研究,指利用計(jì)算機(jī)圖形學(xué)和圖像處理技術(shù),將數(shù)據(jù)轉(zhuǎn)換為圖形或圖像在屏幕上顯示出來,成為對人類視覺更為友好的圖形圖像的過程。
本文使用的北太天元版本為 Baltamatica 2.1.3.2 Windows版
1. 首先需要確保北太天元已經(jīng)加載了 繪圖插件 graph, 可以在 幫助 》 插件 中查看,軟件安裝完成后會默認(rèn)加載繪圖插件。
2. 在繪圖插件加載后,如何查看繪圖插件提供哪些函數(shù)呢?有兩個(gè)方法,一個(gè)是直接在命令行窗口輸入 plugin_help(‘graph’) 就可以查看目前繪圖插件提供的全部函數(shù),或者在命令行窗口輸入 help , 這個(gè)命令會返回北太天元里提供的所有內(nèi)核提供的命令、腳本提供的命令和 插件 [graph(已授權(quán))] 提供的命令。
如下圖所示
3. 如何查看某個(gè)繪圖函數(shù)的具體用法呢?
在命令行窗口直接輸入 help 函數(shù)名,例如help plot3
使用 plot3 繪制三維螺旋線。
t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t);
axis square;
以上代碼運(yùn)行的結(jié)果如下圖所示。
特殊二維圖形
1. 條形圖
bar(X,Y):X是坐標(biāo),Y是高度,條形的跨度是x坐標(biāo)的最小間距
bar(Y):對Y繪制條形圖。如果Y為矩陣,Y的每一行聚集在一起。橫
2. 區(qū)域圖
區(qū)域圖用于顯示向量或者矩陣中的元素在對應(yīng)的x下,在所有元素中所占的比例。默認(rèn)情況下,函數(shù)area將矩陣中各行的元素集中,將這些值繪成曲線,并填充曲線和x軸之間的空間。其調(diào)用語法如下。
area(Y):繪制向量Y。
area(X,Y):繪制 Y 中的值對 x 坐標(biāo) X 的圖。然后,該函數(shù)根據(jù) Y 的形狀填充曲線之間的區(qū)域:如果 Y 是向量,則該圖包含一條曲線。area 填充該曲線和水平軸之間的區(qū)域。如果 Y 是矩陣,則該圖對 Y 中的每列都包含一條曲線。area 填充這些曲線之間的區(qū)域并堆疊它們,從而顯示在每個(gè) x 坐標(biāo)處每個(gè)行元素在總高度中的相對量。
3. 餅形圖
在統(tǒng)計(jì)學(xué)中,經(jīng)常要使用餅形圖來表示各個(gè)統(tǒng)計(jì)量占總量的份額,餅形圖可以顯示向量或矩陣中的元素占總體的百分比。在北太天元中可以使用pie函數(shù)來繪制二維餅形圖,其調(diào)用語法如下。
pie(X):使用 X 中的數(shù)據(jù)繪制餅圖。餅圖的每個(gè)扇區(qū)代表 X 中的一個(gè)元素。如果 sum(X) ≤ 1,X 中的值直接指定餅圖扇區(qū)的面積。如果 sum(X) < 1,pie 僅繪制部分餅圖。如果 sum(X) > 1,則 pie 通過 X/sum(X) 對值進(jìn)行歸一化,以確定餅圖的每個(gè)扇區(qū)的面積。
4. 直方圖
直方圖用于直觀地顯示數(shù)據(jù)的分布情況。在北太天元中提供了兩個(gè)函數(shù)用于直方圖的繪制:hist和polarhistogram。hist主要是用于直角坐標(biāo)系直方圖的繪制;polarhistogram主要用于極坐標(biāo)系下直方圖的繪制。下文主要介紹hist函數(shù)的用法。hist函數(shù)的調(diào)用語法如下。
n=hist(Y):繪制Y的直方圖。
n=hist(Y,nbins):指定分格的數(shù)目。
5. 針狀圖
在北太天元中,可以使用函數(shù)stem生成二維離散圖形。stem函數(shù)調(diào)用語法如下:
stem(Y):繪制Y的數(shù)據(jù)序列,圖形起始于X軸,并在每個(gè)數(shù)據(jù)點(diǎn)處繪制一個(gè)小圓圈。
strm(X,Y):按照指定的X繪制數(shù)據(jù)序列Y。
6. 方向矢量圖和速度矢量圖
在北太天元中可以繪制方向矢量圖和速度矢量圖。quiver函數(shù)用來繪制箭狀圖或者速度矢量圖,其調(diào)用語法如下。
quiver(x,y,u,v):繪制矢量圖,參數(shù)x和y用于指定矢量的位置,u和v用于指定要繪制的矢量。
quiver(u,v):繪制矢量圖,矢量的位置為默認(rèn)值。
梯度方向也就是速度方向,本例使用quiver函數(shù)即可達(dá)到目的。
7. 等高線的繪制
等高線用于創(chuàng)建、顯示并標(biāo)注由一個(gè)或多個(gè)矩陣確定的等值線。北太天元中提供有一些函數(shù)用于繪制等高線:
contour 顯示矩陣Z的二維等高線圖
meshc 創(chuàng)建一個(gè)匹配有二維等高線圖的網(wǎng)格圖
contourf 顯示矩陣Z的二維等高線圖,并在各等高線之間用實(shí)體顏色填充
surfc 創(chuàng)建一個(gè)匹配有二維等高線圖的曲面圖
這里只介紹最常用的函數(shù)contour,其他函數(shù)請讀者自行查閱幫助文檔。contour函數(shù)用于繪制二維等高線圖,其調(diào)用語法如下。
contour(Z):繪制矩陣Z的等高線,繪制時(shí)將Z在x-y平面插值,等高線數(shù)量和數(shù)值由系統(tǒng)根據(jù)Z自動確定。
contour(X,Y,Z):繪制矩陣Z的等高線,坐標(biāo)值由矩陣X和Y指定,矩陣X、Y、Z的維數(shù)必須相同。
contour(X,Y,Z,“ShowText”,“on”):繪制矩陣Z的等高線,坐標(biāo)值由矩陣X和Y指定三維圖形,通過ShowText后的參數(shù)為“on”或者“off”,設(shè)置圖像是否顯示標(biāo)注。
除了繪制二維圖形,北太天元還提供一系列三維圖形繪制函數(shù),下文將對這些函數(shù)進(jìn)行詳細(xì)說明。
繪制三維曲線圖
在北太天元中,plot3函數(shù)用于繪制三維曲線圖。該函數(shù)的用法和plot類似,其調(diào)用語法如下。
plot3(X,Y,Z): 繪制三維空間中的坐標(biāo)。要繪制由線段連接的一組坐標(biāo),請將 X、Y、Z 指定為相同長度的向量。要在同一組坐標(biāo)軸上繪制多組坐標(biāo),請將 X、Y 或 Z 中的至少一個(gè)指定為矩陣,其他指定為向量。
plot3(X,Y,Z,LineSpec): 使用指定的線型、標(biāo)記和顏色創(chuàng)建繪圖。
plot3(X1,Y1,Z1,...,Xn,Yn,Zn): 在同一組坐標(biāo)軸上繪制多組坐標(biāo)。使用此語法作為將多組坐標(biāo)指定為矩陣的替代方法。
plot3(X1,Y1,Z1,LineSpec1,...,Xn,Yn,Zn,LineSpecn): 可為每個(gè) XYZ 三元組指定特定的線型、標(biāo)記和顏色。您可以對某些三元組指定 LineSpec,而對其他三元組省略它。
plot3(...,Name,Value): 使用一個(gè)或多個(gè)名稱-值對組參數(shù)指定 Line 屬性。
繪制三維曲面圖
在北太天元中,除了plot3函數(shù)可用于繪制三維圖形外,還有一些函數(shù)可以用來繪制三維網(wǎng)格圖和曲面圖。下面分別介紹這些函數(shù)。
1. 三維網(wǎng)格圖
mesh函數(shù)用于繪制三維網(wǎng)格圖,其調(diào)用語法如下。
mesh(X,Y,Z): 創(chuàng)建一個(gè)網(wǎng)格圖,該網(wǎng)格圖為三維曲面,有實(shí)色邊顏色,無面顏色。該函數(shù)將矩陣 Z 中的值繪制為由 X 和 Y 定義的 x-y 平面中的網(wǎng)格上方的高度。邊顏色因 Z 指定的高度而異。
mesh(Z): 創(chuàng)建一個(gè)網(wǎng)格圖,并將 Z 中元素的列索引和行索引用作 x 坐標(biāo)和 y坐標(biāo)。
mesh(Z,C): 進(jìn)一步指定邊的顏色。
mesh(___,C): 進(jìn)一步指定邊的顏色。
mesh(ax,___): 將圖形繪制到 ax 指定的坐標(biāo)區(qū)中,而不是當(dāng)前坐標(biāo)區(qū)中。指定坐標(biāo)區(qū)作為第一個(gè)輸入?yún)?shù)。
mesh(___,Name,Value): 使用一個(gè)或多個(gè)名稱-值對組參數(shù)指定曲面屬性。例如,'FaceAlpha',0.5 創(chuàng)建半透明網(wǎng)格圖。
2. 三維曲面圖
函數(shù)surf用來繪制三維表面圖形,其調(diào)用語法如下。
surf(X,Y,Z) 創(chuàng)建一個(gè)三維曲面圖,它是一個(gè)具有實(shí)色邊和實(shí)色面的三維曲面。該函數(shù)將矩陣 Z 中的值繪制為由 X 和 Y 定義的 x-y 平面中的網(wǎng)格上方的高度。曲面的顏色根據(jù) Z 指定的高度而變化。
surf(Z) 創(chuàng)建一個(gè)曲面圖,并將 Z 中元素的列索引和行索引用作 x 坐標(biāo)和 y 坐標(biāo)。