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)
出力:
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()
関数は各行に異なる色を与えます。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')
出力:
また、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()
関数の線のスタイルは、実線の場合は -
、破線の場合は -
、点線の場合は:
、-。
をサポートしました。一点鎖線の場合。色の名前または RGB トリプレット値を使用して、線またはマーカーの色を変更できます。
デフォルトの線幅は 0.5 ですが、任意の正の値を使用してその値を設定できます。マーカーサイズの値はデフォルトで 6 ですが、任意の正の値に変更できます。
デフォルトでは、マーカーのエッジの色は auto
に設定され、マーカーの面の色は none
に設定されていますが、色の名前または RGB トリプレット値を使用してマーカーに任意の色を付けることができます。
関連記事 - MATLAB Plot
- MATLAB ウォーターフォール プロット
- MATLAB の棒グラフ ラベルでのギリシャ記号の使用
- MATLAB 極座標プロット
- MATLAB の caxis()関数
- MATLAB での 3D 矢筒またはベクトルプロット