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

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

 Risposta accettata

Atsushi Ueno
Atsushi Ueno il 22 Gen 2022

0 voti

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 Commenti

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

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2021a

Community Treasure Hunt

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

Start Hunting!