カラーマップの配色を自分で指定するには?

216 Ansichten (letzte 30 Tage)
eri
eri am 25 Apr. 2023
Kommentiert: eri am 25 Apr. 2023
以下の画像は、gnuplotで作成したカラーバーです。これと同配色のカラーマップをmatlabでも表示したいのですが、事前定義されたカラーマップ以外のものを自分で作成することは可能でしょうか。またそのためにはどのような方法があるでしょうか?
初歩的な質問でしたら大変恐縮ですが何卒よろしくお願いいたします。

Akzeptierte Antwort

Kojiro Saito
Kojiro Saito am 25 Apr. 2023
Bearbeitet: Kojiro Saito am 25 Apr. 2023
カスタムのカラーマップを作成するのは可能で、colormap「カスタムのカラーマップを作成」にドキュメントがあります。
下記のコードで質問欄に添付してもらったカラーマップを作ってみます。interp1などで色を256色に補間すると滑らかなカラーマップになります。
% 16進数表記でgnuplotのカラーマップの色情報を定義
hexMap = ["#000090" "#000fff" "#0090ff" "#0fffee" "#ffffff" "#ffee00" "#ff7000" "#ee0000" "#7f0000"];
% 16進数表記から[R G B]の配列に変換
rgbMap = validatecolor(hexMap, "multiple");
% 補間して9色から256色にしたカラーマップを作成
cmap = interp1(1:9,rgbMap,linspace(1,9,256),'linear');
% 確認用の3次元プロット
[x, y] = meshgrid(1:0.5:10, 1:0.5:10);
z = (sin(x) + cos(y)) / 2;
surf(x, y, z, EdgeColor="#AAAAAA")
% カスタムのカラーマップで表示
colormap(cmap);
% カラーバーを追加
cb = colorbar;
% 最大値1、最小値-1のスケールにする
clim([-1 1])
% 目盛りを0.5刻みにする
cb.Ticks = -1:0.5:1;
  1 Kommentar
eri
eri am 25 Apr. 2023
ご教授頂きありがとうございます。無事作成することができました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu カラーマップ finden Sie in Help Center und File Exchange

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!