カラーバー(COLO​RBAR)上で表示す​る色の数を制限するこ​とはできますか?

7 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 23 Oct 2012
COLORBAR コマンドを実行すると、カラーバー上は 64色で表示されます。
例えば、CONTOUR 関数や CONTOURF 関数で、コンター図でレベルを指定して表示しているとき、そのレベルと同じ色数でカラーバーを表現する方法を教えてください。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 4 May 2017
MATLAB では直接的にカラーバーの色を指定することはできません。
代替案としては、カラーバーを表示している Axes オブジェクト上にある Image オブジェクトの 'CData' プロパティを変更する方法があります。
以下に例を示します。
mx = peaks(100);% デモ用データの作成
numberOfColors = 5; % 色の数を選択
nc = numberOfColors-1; % カラーバーで使用する色の数
[c,h, cf] =contourf(mx,nc); % コンター表示
cb = colorbar; % カラーバー表示とハンドルの取得
i = findobj(cb,'type','image'); % カラーバー上の Image オブジェクト取得
minVal = min(mx(:)); % カラーバー軸を適切に設定するため、データの上限下限を取得
maxVal = max(mx(:));
% 全ての色について範囲内におさまるように、カラーバーの CData を設定
set(i,'cdata',[0:64/nc:64]','YData',[minVal maxVal]);
% カラーバーの目盛り刻みを指定
set(cb,'yLim',[minVal maxVal],'ytick',[minVal:(maxVal-minVal)/(nc):maxVal]');
% オプション2: カラーバーの目盛り刻みを指定
%set(cb,'yLim',[minVal maxVal],'ytick',[minVal:(maxVal-minVal)/(2*nc):maxVal]');

More Answers (0)

Tags

No tags entered yet.

Products


Release

R2006b

Community Treasure Hunt

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

Start Hunting!