1. ホーム
  2. matlab

[解決済み] matlab で "カラーマップ" プロットを作成するにはどうすればよいですか?

2022-02-12 06:41:27

質問

あるデータ(2つのパラメータの関数)がmatlabのフォーマットで保存されていて、matlabを使ってそれをプロットしたいのですが、どうすればいいですか?データを読み込んだら mesh() を使ってプロットしてください。私の mesh() をプロットすると、このように関数の値が色と表面の高さとして表示されます。

従属変数が以下のように表される場合、2Dメッシュプロットを作成するためにどのようなmatlabプロット関数を使用すればよいでしょうか? 色のみ ? 私は次のようなものを探しています。 pm3d map を gnuplot で表示します。

どのように解決するのですか?

デフォルトでは mesh は、サーフェス値を (デフォルトの) jet のカラーマップを使用します(つまり、熱い方が高い)。さらに surf は塗りつぶされたサーフェスパッチに設定し 'EdgeColor' プロパティを 'None' (パッチのエッジが見えなくなるように)。

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;

% surface in 3D
figure;
surf(Z,'EdgeColor','None');

<イグ

2次元地図 : を切り替えると、2Dマップが表示されます。 view プロパティを使用します。

% 2D map using view
figure;
surf(Z,'EdgeColor','None');
view(2);    

<イグ

... あるいは Z を使用して拡大縮小された画像として表示します。 imagesc を選択し、適切な カラーマップ .

% using imagesc to view just Z
figure;
imagesc(Z); 
colormap jet; 

<イグ

地図のカラーパレットを制御するのは colormap(map) ここで map は、カスタムまたはMATLABが提供する組み込みのカラーマップのいずれかにすることができます。

<イグ

マップの更新/リファイン : マップのいくつかのデザインオプション(解像度、スムージング、軸など)は、通常のMATLABオプションで制御することができます。Florisが指摘するように、この例に合わせて、平滑化、等軸、無軸のラベルマップを紹介します。

figure;
surf(X, Y, Z,'EdgeColor', 'None', 'facecolor', 'interp');
view(2);
axis equal; 
axis off;

<イグ