カラーバー(COLORBAR)上で表示する色の数を制限することはできますか?
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
COLORBAR コマンドを実行すると、カラーバー上は 64色で表示されます。
例えば、CONTOUR 関数や CONTOURF 関数で、コンター図でレベルを指定して表示しているとき、そのレベルと同じ色数でカラーバーを表現する方法を教えてください。
Akzeptierte Antwort
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]');
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 等高線図 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!