カラーマップの任意の​範囲の値の色を指定し​、それ以外をjetで​表示したい

カラーマップの任意の範囲の値の色を指定し、それ以外をjetで表示したいです。
例えば、0~10と50~60を黒で表示し、10~50はjetで表示することは可能でしょうか。
よろしくお願いします。

 Accepted Answer

Atsushi Ueno
Atsushi Ueno on 22 Jan 2022
cmap = colormap(jet); % カラーマップ"jet"(256*3)を取り出す
colormap([zeros(64,3); cmap; zeros(64,3)]); % 上記の両端に64行ずつ黒を追加しカラーマップに設定する
im = peaks .* 10; imagesc(im);colorbar;% 適当にダミーデータを読み込んで表示
caxis([0 60]); % カラーマップの値域を0~60に設定

4 Comments

正己 川原
正己 川原 on 23 Jan 2022
ご教授ありがとうございました。こちらを参考にさせていただきます。
正己 川原
正己 川原 on 23 Jan 2022
追加で質問となってしまうのですが、このプログラムの64行ずつとはどういった意味なのか教えて頂きたいです。よろしくお願いします。
colormap([zeros(64,3); cmap; zeros(64,3)]); % 上記の両端に64行ずつ黒を追加しカラーマップに設定する
Atsushi Ueno
Atsushi Ueno on 23 Jan 2022
実施例では、0から数えて最初の幅10が黒、次の幅40がjet、次の幅10が黒ですよね。幅40に相当するjetのカラーマップ行列は256*3なので、これに幅10の黒いカラーマップを追加するには幅を256/40*10=64*3にする必要があります。
正己 川原
正己 川原 on 24 Jan 2022
理解できました!ありがとうございます。

Sign in to comment.

More Answers (0)

Products

Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!