MATLAB プロットカラーマップ

Ammar Ali 2024年2月15日
  1. MATLAB で mesh() 関数を使用してカラーマップをプロットする
  2. MATLAB で meshc() 関数を使用してカラーマップをプロットする
  3. MATLAB で meshz() 関数を使用してカラーマップをプロットする
  4. MATLAB で surf() 関数を使用してカラーマップをプロットする
MATLAB プロットカラーマップ

このチュートリアルでは、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

出力:

メッシュ関数を使用した MatlabColorMap-1

上記のコードでは、正弦波のカラーマップをプロットしました。カラーマップは、最も低い値を最も冷たい色に割り当て、最も高い値を最も熱い色に割り当てます。図からわかるように、正弦波の値が大きくなると、色が冷たい領域から熱い領域に、またはその逆にシフトします。カラーバー機能を使用してカラーバーを表示することもできます。カラーバーから、どの値がどの色に割り当てられているかを確認できます。colormap 機能を使用して、カラーマップを希望の色範囲に変更することもできます。たとえば、上記の正弦波を夏のカラーマップにプロットしてみましょう。以下のコードを参照してください。

a = 0:0.1:10;
z = [sin(a);sin(a)];
mesh(z)
colormap summer
colorbar

出力:

メッシュ関数を使用した MatlabColorMap-2

それでは、与えられた座標に行列をプロットしましょう。まず、meshgrid() 関数を使用してメッシュグリッドを作成し、次に行列と一緒に座標を渡して、指定された行列を指定された座標にプロットする必要があります。以下のサンプルコードを参照してください。

a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
mesh(x,y,z)
colorbar

出力:

Matlab ColorMap-3

x 座標と y 座標は、上の図の指定された座標とまったく同じであることがわかります。与えられた行列を任意の x 座標と y 座標にプロットできます。それでは、view() 関数を使用して、この 3D プロットを 2D に変更しましょう。この関数は、グラフの表示を変更します。この関数を使用すると、2つの座標しか表示できません。以下のコードを参照してください。

a = 0:0.1:30;
z = [sin(a); sin(a)];
mesh(z)
colorbar
view(2)

出力:

Matlab ColorMap-4

上記のコードでは、正弦波をプロットし、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

出力:

Matlab ColorMap-5

上記のコードでは、メッシュプロットの面の色をフラットに変更しました。これは、上の図に示すように、プロットの表面がフラットになることを意味します。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

出力:

Matlab ColorMap-6

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

出力:

Matlab ColorMap-7

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

出力:

Matlab ColorMap-8

上記のコードでは、メッシュプロットのエッジカラーを赤に変更し、コンタープロットのエッジカラーを青に変更します。利用可能な色から好きな色を選択できます。図の等高線図の位置を変更することもできます。たとえば、等高線プロットの位置を変更し、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

出力:

Matlab ColorMap-9

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

出力:

MatlabColorMap-10

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

出力:

MatlabColorMap-11

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';

出力:

MatlabColorMap-12

上記のコードでは、メッシュプロットのエッジの色を青に変更しています。利用可能な色から好きな色を選択できます。meshz() 関数の詳細については、このリンクを確認してください。

MATLAB で surf() 関数を使用してカラーマップをプロットする

surf() 関数は mesh() 関数と同じように機能しますが、surf() 関数は無地の面の色で行列をプロットし、mesh() 関数は面のない行列をプロットします。色。これ以外の違い surf()mesh() は同じ関数です。上記の mesh() 関数を確認してください。surf() 関数の詳細については、このリンクを確認してください。

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

関連記事 - MATLAB Plot