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

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

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 4 Mai 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]');

Weitere Antworten (0)

Tags

Noch keine Tags eingegeben.

Produkte


Version

R2006b

Community Treasure Hunt

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

Start Hunting!