MATLAB 中的 3D 線圖或點圖

Ammar Ali 2022年5月11日
MATLAB 中的 3D 線圖或點圖

本教程將討論使用 MATLAB 中的 plot3() 函式建立點或線的 3D 圖。

使用 MATLAB 中的 plot3() 函式建立點或線的 3D 圖

我們已經知道 MATLAB 中的 plot() 函式,該函式用於在 2D 平面上繪製資料。

plot3() 函式類似於 plot() 函式。唯一的區別是 plot3() 函式在 3D 平面上繪製資料。

我們可以將資料繪製為稱為連續圖的線,也可以繪製為點,也稱為離散圖。我們必須傳遞三個座標 x、y 和 z,才能在 3D 平面上繪製資料。

例如,讓我們使用 plot3() 函式在 3D 中繪製一個螺旋線。請參閱下面的程式碼。

clc
t = 0:pi/50:10*pi;
sinet = sin(t);
cost = cos(t);
plot3(sinet,cost,t)

輸出:

3D 圖上的螺旋線

我們還可以通過在 plot3() 函式中使用多個輸入來同時繪製多條線。

例如,讓我們使用六個輸入和 plot3() 函式繪製兩條線。請參閱下面的程式碼。

clc
time = 0:pi/500:pi;
xs1 = sin(time).*cos(10*time);
ys1 = sin(time).*sin(10*time);
zs1 = cos(time);

xs2 = sin(time).*cos(12*time);
ys2 = sin(time).*sin(12*time);
zs2 = cos(time);
plot3(xs1,ys1,zs1,xs2,ys2,zs2)

輸出:

使用 plot3 繪製多條線圖

在多條線的情況下,plot3() 函式將為每條線賦予不同的顏色。我們還可以使用 legend() 函式為每一行指定一個唯一的名稱。檢視此連結以瞭解有關 MATLAB 中圖例的更多詳細資訊。

你可以將多個資料的座標儲存到單個矩陣中,而不是傳遞六個引數。

例如,在上述情況下,我們可以將單個矩陣中每個資料的 x 座標儲存為列,其餘座標也是如此。然後我們只需要傳遞三個輸入。

我們還可以使用 xlabel() 函式為 x 軸標籤、ylabel() 為 y 軸標籤和 label() 為 z 軸標籤新增標籤到 3D 繪圖的每個軸。我們還可以使用 title() 函式為標題指定繪圖。

我們甚至可以使用不同的標記將線更改為離散圖的點,例如 o 表示圓圈,+ 表示加號,*表示星號,d 表示菱形。

例如,讓我們以離散形式繪製上述圖形,併為圖形新增標籤和標題。請參閱下面的程式碼。

clc
time = 0:pi/500:pi;
xs1 = sin(time).*cos(10*time);
ys1 = sin(time).*sin(10*time);
zs1 = cos(time);

xs2 = sin(time).*cos(12*time);
ys2 = sin(time).*sin(12*time);
zs2 = cos(time);
plot3(xs1,ys1,zs1,'+',xs2,ys2,zs2,'d')
legend('Line1','Line2')
axis equal
xlabel('x(t)')
ylabel('y(t)')
zlabel('z(t)')
title('3D line plot')

輸出:

使用 plot3 分解圖

我們還可以使用 LineStyle 屬性更改其他屬性,例如使用 LineStyle 屬性更改線條樣式,使用 Color 屬性更改線條顏色,使用 LineWidth 屬性更改線條寬度,使用 MarkerSize 屬性更改標記大小,使用標記邊緣顏色 MarkerEdgeColor 屬性、標記面顏色或使用 MarkerFaceColor 屬性的標記填充顏色。

我們還可以使用 LineSpec 屬性同時更改線條樣式、標記和顏色。例如,讓我們更改上圖的一些屬性。請參閱下面的程式碼。

clc
time = 0:pi/500:pi;
xs1 = sin(time).*cos(10*time);
ys1 = sin(time).*sin(10*time);
zs1 = cos(time);

plot3(xs1,ys1,zs1,'LineStyle','--','Color','red','LineWidth',3)
legend('Line1','Line2')
axis equal
xlabel('x(t)')
ylabel('y(t)')
zlabel('z(t)')
title('3D line plot')

輸出:

更改 plot3 的屬性

我們支援的 plot3() 函式的線條樣式是 - 代表實線,-- 代表虛線,: 代表虛線,-. 對於點劃線。我們可以使用顏色名稱或 RGB 三元組值來更改線條或標記的顏色。

預設線寬為 0.5,但我們可以使用任何正值設定其值。預設情況下,標記大小值為 6,但我們可以將其更改為任何正值。

預設情況下,標記邊緣顏色設定為自動,標記面顏色設定為,但我們可以使用顏色名稱或 RGB 三元組值為標記指定任何顏色。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - MATLAB Plot

相關文章 - MATLAB 3D Plot