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

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

采纳的回答

Kojiro Saito
Kojiro Saito 2023-4-25
编辑:Kojiro Saito 2023-4-25
カスタムのカラーマップを作成するのは可能で、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 个评论
eri
eri 2023-4-25
ご教授頂きありがとうございます。無事作成することができました。

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!