MATLAB プロットカラーマップ
-
MATLAB で
mesh()
関数を使用してカラーマップをプロットする -
MATLAB で
meshc()
関数を使用してカラーマップをプロットする -
MATLAB で
meshz()
関数を使用してカラーマップをプロットする -
MATLAB で
surf()
関数を使用してカラーマップをプロットする
このチュートリアルでは、MATLAB の mesh()
、meshc()
、meshz()
、および surf()
関数を使用してカラーマップをプロットする方法について説明します。
MATLAB で mesh()
関数を使用してカラーマップをプロットする
指定された行列のカラーマップをプロットするには、mesh()
関数を使用できます。この関数は、指定された x 軸と y 軸に変数をプロットします。座標が指定されていない場合は、行列のインデックスを座標として使用します。mesh()
関数は、指定された行列を指定された座標の高さとしてプロットします。mesh()
関数への入力として座標を提供するには、meshgrid()
関数を使用して、指定された行列がプロットされる座標のメッシュを作成する必要があります。以下のコードを参照してください。
a = 0:0.1:10;
z = [sin(a);sin(a)];
mesh(z)
colorbar
出力:
上記のコードでは、正弦波のカラーマップをプロットしました。カラーマップは、最も低い値を最も冷たい色に割り当て、最も高い値を最も熱い色に割り当てます。図からわかるように、正弦波の値が大きくなると、色が冷たい領域から熱い領域に、またはその逆にシフトします。カラーバー
機能を使用してカラーバーを表示することもできます。カラーバーから、どの値がどの色に割り当てられているかを確認できます。colormap
機能を使用して、カラーマップを希望の色範囲に変更することもできます。たとえば、上記の正弦波を夏のカラーマップにプロットしてみましょう。以下のコードを参照してください。
a = 0:0.1:10;
z = [sin(a);sin(a)];
mesh(z)
colormap summer
colorbar
出力:
それでは、与えられた座標に行列をプロットしましょう。まず、meshgrid()
関数を使用してメッシュグリッドを作成し、次に行列と一緒に座標を渡して、指定された行列を指定された座標にプロットする必要があります。以下のサンプルコードを参照してください。
a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
mesh(x,y,z)
colorbar
出力:
x 座標と y 座標は、上の図の指定された座標とまったく同じであることがわかります。与えられた行列を任意の x 座標と y 座標にプロットできます。それでは、view()
関数を使用して、この 3D プロットを 2D に変更しましょう。この関数は、グラフの表示を変更します。この関数を使用すると、2つの座標しか表示できません。以下のコードを参照してください。
a = 0:0.1:30;
z = [sin(a); sin(a)];
mesh(z)
colorbar
view(2)
出力:
上記のコードでは、正弦波をプロットし、view()
関数を使用してプロットを 3D から 2D に変更しました。図からわかるように、正弦波の値が大きくなると、色が冷たい領域から熱い領域に、またはその逆にシフトします。カラーバーが表示され、どの値がどの色に割り当てられているかを確認できます。EdgeColor
プロパティを使用したエッジカラー、LineColor
プロパティを使用したラインスタイル、FaceColor
プロパティを使用したフェースカラーなどの他のメッシュプロパティを変更することもできます。たとえば、を使用してフェースカラーをフラットに変更しましょう。mesh()
関数の FaceColor
プロパティ。以下のコードを参照してください。
a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
mesh(x,y,z,'FaceColor','Flat')
colorbar
出力:
上記のコードでは、メッシュプロットの面の色をフラットに変更しました。これは、上の図に示すように、プロットの表面がフラットになることを意味します。mesh()
関数とプロパティの詳細については、このリンクを確認してください。
MATLAB で meshc()
関数を使用してカラーマップをプロットする
指定されたマトリックスのカラーマップをプロットするには、meshc()
関数を使用できます。この関数は、変数のカラーマップを指定された x 軸と y 軸にプロットし、メッシュプロットの下に等高線プロットを追加します。座標が指定されていない場合は、行列のインデックスを座標として使用します。meshc()
関数は、指定された行列を指定された座標の高さとしてプロットします。meshc()
関数への入力として座標を指定するには、meshgrid()
関数を使用して、指定された行列がプロットされる座標のメッシュを作成する必要があります。たとえば、行列をプロットしてみましょう。以下のコードを参照してください。
a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
meshc(x,y,z)
colorbar
出力:
colormap
機能を使用して、カラーマップを希望の色範囲に変更することもできます。たとえば、上記の正弦波を夏のカラーマップにプロットしてみましょう。以下のコードを参照してください。
a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
meshc(x,y,z)
colorbar
colormap winter
出力:
meshc()
関数の EdgeColor
プロパティを使用して、メッシュのエッジカラーと輪郭のエッジカラーを変更することもできます。以下のコードを参照してください。
a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
sc = meshc(x,y,z)
sc(1).EdgeColor = 'r';
sc(2).EdgeColor = 'b';
colorbar
出力:
上記のコードでは、メッシュプロットのエッジカラーを赤に変更し、コンタープロットのエッジカラーを青に変更します。利用可能な色から好きな色を選択できます。図の等高線図の位置を変更することもできます。たとえば、等高線プロットの位置を変更し、Zlocation
プロパティを使用して z 軸にプロットしてみましょう。以下のコードを参照してください。
a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
sc = meshc(x,y,z)
sc(2).ZLocation = 'zmax';
colorbar
出力:
meshc()
関数の詳細については、このリンクを確認してください。
MATLAB で meshz()
関数を使用してカラーマップをプロットする
指定された行列のカラーマップをプロットするには、meshz()
関数を使用できます。この関数は、指定された x 軸と y 軸に変数のカラーマップをプロットし、メッシュプロットの下にカーテンを追加します。座標が指定されていない場合は、行列のインデックスを座標として使用します。meshz()
関数は、指定された行列を指定された座標の高さとしてプロットします。meshz()
関数への入力として座標を指定するには、meshgrid()
関数を使用して、指定された行列がプロットされる座標のメッシュを作成する必要があります。たとえば、行列をプロットしてみましょう。以下のコードを参照してください。
a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
meshz(x,y,z)
colorbar
出力:
colormap
機能を使用して、カラーマップを希望の色範囲に変更することもできます。たとえば、上記の正弦波を夏のカラーマップにプロットしてみましょう。以下のコードを参照してください。
a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
meshz(x,y,z)
colorbar
colormap winter
出力:
meshz()
関数の EdgeColor
プロパティを使用して、メッシュのエッジカラーを変更することもできます。以下のコードを参照してください。
a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
sc = meshz(x,y,z)
sc(1).EdgeColor = 'g';
出力:
上記のコードでは、メッシュプロットのエッジの色を青に変更しています。利用可能な色から好きな色を選択できます。meshz()
関数の詳細については、このリンクを確認してください。
MATLAB で surf()
関数を使用してカラーマップをプロットする
surf()
関数は mesh()
関数と同じように機能しますが、surf()
関数は無地の面の色で行列をプロットし、mesh()
関数は面のない行列をプロットします。色。これ以外の違い surf()
と mesh()
は同じ関数です。上記の mesh()
関数を確認してください。surf()
関数の詳細については、このリンクを確認してください。