塗りつぶした2次元等​高線図(contou​rf)のカラーコンタ​ー

조회 수: 53 (최근 30일)
Yoshifumi Katayama
Yoshifumi Katayama 2019년 12월 5일
답변: Kenta 2020년 1월 23일
様々なケースで同一のカラーコンターを使うために(同一の値に対して同一の色で表示される),以下のように指定したのですが,
contourf(X,Y,Z,[0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0],'ShowText','on');
ケース毎に存在する数値の範囲が異なるため,同一の値に対して同一の色で表示されません。
存在する数値の範囲が異なった場合でも,同一の値に対して同一の色で表示させるための方法はありませんか?
  댓글 수: 4
Kenta
Kenta 2019년 12월 9일
教えていただき、誠にありがとうございます。教えていただいたコードを実行すると
以下のようになり、「白飛び」がなくなりました。axesに色をつけるとよかったのですね。
勉強になりました。ありがとうございました。
example2.PNG
Etsuo Maeda
Etsuo Maeda 2019년 12월 10일
Itakuraさん。反映ありがとうございます。少しだけ訂正です。
cmap = colormap;
ax = gca;
ax.Color = cmap(1, :);
だと、Contour最下段の色と背景色が同じになって違和感があるかもしれません。
少しだけリファインしてみました。
ついでに上限の方もcaxis関数で弄れるようにしておきました。
Katayamaさん。こういうのでどうでしょうか。
untitled.png
Z = peaks;
myMin = -2;
myMax = 12;
levels = myMin:myMax;
subplot(2, 1, 1)
contourf(Z, levels);
colorbar
subplot(2, 1, 2)
contourf(Z, levels);
colorbar
caxis([myMin myMax])
cmap = colormap;
colormap(cmap(2:end, :))
ax = gca;
ax.Color = cmap(1, :);
HTH

댓글을 달려면 로그인하십시오.

채택된 답변

Kenta
Kenta 2020년 1월 23일
ご返信ありがとうございます。お役に立ててよかったです。コメントのほうもEtsuo Maedaさまよりアドバイスを頂き、いろいろと変更があったのでこちらに改訂版を掲載させていただきます。宜しくお願い致します。maeda様、アドバイスをくださり、ありがとうございました。
result.PNG
clear;clc;close all
cmap = colormap;
Z = peaks;
minimum=min(Z,[],'all');
maximum=max(Z,[],'all');
num_level=10;
interval=(maximum-minimum)/(num_level-1);
level=minimum+(0:num_level-2)*interval;
d=[-5 3 7];
for i=1:3
Z2=Z;
Z2(20:30,15:35)=Z2(20:30,15:35)-d(i);
subplot(1,3,i)
contourf(Z2,level)
colorbar
caxis([minimum maximum])
colormap(cmap(2:end, :))
ax = gca;
ax.Color = cmap(1, :);
end

추가 답변 (1개)

Yoshifumi Katayama
Yoshifumi Katayama 2020년 1월 23일
皆様
ありがとうございました。
お陰様で,希望通りの図を作成することができました。
お礼が遅くなり申し訳ございませんでした。

카테고리

Help CenterFile Exchange에서 等高線図에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!