フィルターのクリア

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

64 ビュー (過去 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 件)

カテゴリ

Help Center および File Exchangeカラーマップ についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!