tiledlayoutを用いて図を作るときにcolormapを使うと,各タイルでcolormap統一されてしまう.
この時は,軸ごとにcolormapを定めるとOK.ax = nexttile;でタイルの軸ハンドルを取得してcolormap(ax, cmap)でタイルのカラーマップを設定する.
以下はサンプル
% カラーマップの定義
cmap1 = hot;
cmap2 = cool;
cmap3 = gray;
% データの生成
x = -3:0.1:3;
y = -3:0.1:3;
[X, Y] = meshgrid(x, y);
Z1 = peaks(X, Y);
Z2 = peaks(X-2, Y-2);
Z3 = peaks(X+2, Y+2);
% タイルレイアウトの作成
tiledlayout(1,3);
% タイル1にプロットを配置してカラーマップを設定
ax(1) = nexttile;
imagesc(Z1);
colormap(ax(1), cmap1); % ここでタイル1のカラーマップを指定
axis tight equal
% タイル2にプロットを配置してカラーマップを設定
ax(2) = nexttile;
imagesc(Z2);
colormap(ax(2), cmap2); % ここでタイル2のカラーマップを指定
axis tight equal
% タイル3にプロットを配置してカラーマップを設定
ax(3) = nexttile;
imagesc(Z3);
colormap(ax(3), cmap3); % ここでタイル2のカラーマップを指定
axis tight equal
結果
おまけ
Chat-GPTに聞いた時の結果.一発では正解のスクリプトを書けなかったようだが,2回目でサンプルのようなスクリプトを書いてきた.