MATLAB での 3D ラインまたはポイントプロット

Ammar Ali 2023年10月8日
MATLAB での 3D ラインまたはポイントプロット

このチュートリアルでは、MATLAB の plot3() 関数を使用して点または線の 3D プロットを作成する方法について説明します。

MATLAB で plot3() 関数を使用して点または線の 3D プロットを作成する

2D 平面にデータをプロットするために使用される MATLAB の plot() 関数についてはすでに知っています。

plot3() 関数は plot() 関数に似ています。唯一の違いは、plot3() 関数がデータを 3D 平面にプロットすることです。

データは、連続プロットと呼ばれる線として、および離散プロットとも呼ばれる点としてプロットできます。3D 平面にデータをプロットするには、x、y、z の 3つの座標を渡す必要があります。

たとえば、plot3() 関数を使用して 3D でらせんをプロットしてみましょう。以下のコードを参照してください。

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

出力:

3D プロットのらせん

plot3() 関数内で複数の入力を使用して、複数の線を同時にプロットすることもできます。

たとえば、6つの入力と plot3() 関数を使用して 2 本の線をプロットしてみましょう。以下のコードを参照してください。

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 の凡例の詳細については、このリンクを確認してください。

6つの引数を渡す代わりに、複数のデータの座標を 1つの行列に保存できます。

たとえば、上記の場合、各データの x 座標を列として単一の行列に保存できますが、残りの座標についても同じことが言えます。次に、3つの入力を渡すだけです。

x 軸ラベルには xlabel() 関数、y 軸ラベルには ylabel()、z 軸ラベルには label() を使用して、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 プロパティを使用してラインスタイル、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 ですが、任意の正の値に変更できます。

デフォルトでは、マーカーのエッジの色は auto に設定され、マーカーの面の色は none に設定されていますが、色の名前または RGB トリプレット値を使用してマーカーに任意の色を付けることができます。

著者: 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