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

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

Respuesta aceptada

Kojiro Saito
Kojiro Saito el 25 de Abr. de 2023
Editada: Kojiro Saito el 25 de Abr. de 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 comentario
eri
eri el 25 de Abr. de 2023
ご教授頂きありがとうございます。無事作成することができました。

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!