目盛りのフォーマットを揃える †plotboxの軸目盛り †例えば figure; plot(peaks./100); と実行すると,下図のようにy軸目盛り数値の桁数がバラバラ. 整数なら整数,小数点なら第○位までと全てを統一したい. ax = gca; とすると, ax.YAxis.TickLabelFormat というプロパティがあるので, ax.YAxis.TickLabelFormat = '%0.2f' のようにすれば OK . fmt = '%0.2f'; % 表示させたいフォーマット yt = -0.08:0.02:0.10; % 目盛り表示位置と間隔 ax = gca; % カレントのaxes取得 ax.YTick = yt; % 目盛り表示位置の指定 (数値) ax.YTickLabel = num2str(ax.YTick',fmt); % 目盛りラベルの指定 (文字列) YTick の指定は必須ではないが,図の余白や大きさ自体が変化したときに目盛り間隔が自動で変わってしまい YTickLabel と整合しなくなるので, ax.YTick = ax.YTick; % 目盛り表示位置の指定 (数値) ax.YTickLabel = num2str(ax.YTick',fmt); % 目盛りラベルの指定 (文字列) としておく(これ以後目盛りの自動調節はなくなる). 他の軸の場合も ax.XTick とかにするだけ. colorbarの目盛り †colorbarの目盛りについてもほぼ同じ. figure; pcolor(peaks./100); caxis([-0.10 0.10]) を実行すると以下の通り.colobar の目盛りラベルのフォーマットを統一したい. 上記と似たような処理で調整可能だが,colorbarの場合は % フォーマット設定 fmt = '%0.2f'; cbtick = -0.10:0.05:0.10; % 取得・変更 cb = colorbar; cb.Ticks = cbtick; cb.TickLabels = num2str(cb.Ticks',fmt); これを実行すれば,目盛り数値の桁も揃い,目盛り間隔も調整できる. 詳細な目盛りの調整 †% % figure fig = figure; axis off % % colorbar の表示 cb = colorbar; caxis([-10.0 10.0]) % 範囲の調整 set(cb,'FontName','Times','FontSize',12) % % ① 目盛りの位置の設定,最初は桁数がバラバラ cb.Ticks = -10.0:2.5:10.0; % % ② ラベル間で文字列幅が揃うように空白が入る cbtl = num2str(cb.Ticks','%0.1f'); cb.TickLabels = cbtl; % % ③ 空白が入らないようにトリミング cbtl = cellstr(num2str(cb.Ticks','%0.1f')); cbtl = cellfun(@strtrim,cbtl,'Uniformoutput',false); cb.TickLabels = cbtl; % % ④ 単位をつける例 cbtl{end} = [cbtl{end}, ' m']; cb.TickLabels = cbtl; |