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

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

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 4 de Mayo de 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]');

Más respuestas (0)

Etiquetas

Aún no se han introducido etiquetas.

Productos


Versión

R2006b

Community Treasure Hunt

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

Start Hunting!