Takuya Miyashita
This site
Web
Start:
*目盛りのフォーマットを揃える [#f7075b8f]
#contents
**plotboxの軸目盛り [#q3ddc85f]
例えば
#codeprettify(lang-matlab){{
figure;
plot(peaks./100);
}}
と実行すると,下図のようにy軸目盛り数値の桁数がバラバラ.~
#ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
整数なら整数,小数点なら第○位までと全てを統一したい.~
~
~
【追記】フォーマットを統一するだけなら
#codeprettify(lang-matlab){{
ax = gca;
}}
とすると,
#codeprettify(lang-matlab){{
ax.YAxis.TickLabelFormat
}}
というプロパティがあるので,
#codeprettify(lang-matlab){{
ax.YAxis.TickLabelFormat = '%0.2f'
}}
のようにすれば OK .~
下記の ax.YTick は ax.YAxis.TickValues のエイリアス??~
~
~
細かく指定するなら
#codeprettify(lang-matlab){{
fmt = '%0.2f'; % 表示させたいフォーマット
yt = -0.08:0.02:0.10; % 目盛り表示位置と間隔
ax = gca; % カレントのaxes取得
ax.YTick = yt; % 目盛り表示位置の指定 (数値)
ax.YTickLabel = num2str(ax.YTick',fmt); % 目盛りラベルの...
}}
YTick の指定は必須ではないが,図の余白や大きさ自体が変化...
同時に指定したほうが無難.~
自分で指定せず,自動で設定された YTick そのままで良い時も
#codeprettify(lang-matlab){{
ax.YTick = ax.YTick; % 目盛り表示位置の指定 (数値)
ax.YTickLabel = num2str(ax.YTick',fmt); % 目盛りラベルの...
}}
としておく(これ以後目盛りの自動調節はなくなる).~
出力結果は下図の通り.
#ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
他の軸の場合も ax.XTick とかにするだけ.~
表示する目盛り位置(数値)を指定してしまっているので,事...
また,目盛りラベル同士で文字数が異なるとき('1'と'100000'...
~
この方法で,目盛りの値によらず,任意の文字列を挿入できる.
~
~
**colorbarの目盛り [#c0741f54]
colorbarの目盛りについてもほぼ同じ.
#codeprettify(lang-matlab){{
figure;
pcolor(peaks./100);
caxis([-0.10 0.10])
}}
を実行すると以下の通り.colobar の目盛りラベルのフォーマ...
#ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
上記と似たような処理で調整可能だが,colorbarの場合は~
「Ytick」,「YTickLabel」でなく,~
「Ticks」,「TickLabels」を使う.なかなか紛らわしい.~
以下に目盛りの桁数を調整する例を示す.ついでに表示する目...
#codeprettify(lang-matlab){{
% フォーマット設定
fmt = '%0.2f';
cbtick = -0.10:0.05:0.10;
% 取得・変更
cb = colorbar;
cb.Ticks = cbtick;
cb.TickLabels = num2str(cb.Ticks',fmt);
}}
これを実行すれば,目盛り数値の桁も揃い,目盛り間隔も調整...
#ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
~
**詳細な目盛りの調整 [#z8240526]
#codeprettify(lang-matlab){{
% % figure
fig = figure;
axis off
% % colorbar の表示
cb = colorbar;
caxis([-10.0 10.0]) % 範囲の調整
set(cb,'FontName','Times','FontSize',12)
}}
#codeprettify(lang-matlab){{
% % ① 目盛りの位置の設定,最初は桁数がバラバラ
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;
}}
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
End:
*目盛りのフォーマットを揃える [#f7075b8f]
#contents
**plotboxの軸目盛り [#q3ddc85f]
例えば
#codeprettify(lang-matlab){{
figure;
plot(peaks./100);
}}
と実行すると,下図のようにy軸目盛り数値の桁数がバラバラ.~
#ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
整数なら整数,小数点なら第○位までと全てを統一したい.~
~
~
【追記】フォーマットを統一するだけなら
#codeprettify(lang-matlab){{
ax = gca;
}}
とすると,
#codeprettify(lang-matlab){{
ax.YAxis.TickLabelFormat
}}
というプロパティがあるので,
#codeprettify(lang-matlab){{
ax.YAxis.TickLabelFormat = '%0.2f'
}}
のようにすれば OK .~
下記の ax.YTick は ax.YAxis.TickValues のエイリアス??~
~
~
細かく指定するなら
#codeprettify(lang-matlab){{
fmt = '%0.2f'; % 表示させたいフォーマット
yt = -0.08:0.02:0.10; % 目盛り表示位置と間隔
ax = gca; % カレントのaxes取得
ax.YTick = yt; % 目盛り表示位置の指定 (数値)
ax.YTickLabel = num2str(ax.YTick',fmt); % 目盛りラベルの...
}}
YTick の指定は必須ではないが,図の余白や大きさ自体が変化...
同時に指定したほうが無難.~
自分で指定せず,自動で設定された YTick そのままで良い時も
#codeprettify(lang-matlab){{
ax.YTick = ax.YTick; % 目盛り表示位置の指定 (数値)
ax.YTickLabel = num2str(ax.YTick',fmt); % 目盛りラベルの...
}}
としておく(これ以後目盛りの自動調節はなくなる).~
出力結果は下図の通り.
#ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
他の軸の場合も ax.XTick とかにするだけ.~
表示する目盛り位置(数値)を指定してしまっているので,事...
また,目盛りラベル同士で文字数が異なるとき('1'と'100000'...
~
この方法で,目盛りの値によらず,任意の文字列を挿入できる.
~
~
**colorbarの目盛り [#c0741f54]
colorbarの目盛りについてもほぼ同じ.
#codeprettify(lang-matlab){{
figure;
pcolor(peaks./100);
caxis([-0.10 0.10])
}}
を実行すると以下の通り.colobar の目盛りラベルのフォーマ...
#ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
上記と似たような処理で調整可能だが,colorbarの場合は~
「Ytick」,「YTickLabel」でなく,~
「Ticks」,「TickLabels」を使う.なかなか紛らわしい.~
以下に目盛りの桁数を調整する例を示す.ついでに表示する目...
#codeprettify(lang-matlab){{
% フォーマット設定
fmt = '%0.2f';
cbtick = -0.10:0.05:0.10;
% 取得・変更
cb = colorbar;
cb.Ticks = cbtick;
cb.TickLabels = num2str(cb.Ticks',fmt);
}}
これを実行すれば,目盛り数値の桁も揃い,目盛り間隔も調整...
#ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
~
**詳細な目盛りの調整 [#z8240526]
#codeprettify(lang-matlab){{
% % figure
fig = figure;
axis off
% % colorbar の表示
cb = colorbar;
caxis([-10.0 10.0]) % 範囲の調整
set(cb,'FontName','Times','FontSize',12)
}}
#codeprettify(lang-matlab){{
% % ① 目盛りの位置の設定,最初は桁数がバラバラ
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;
}}
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
Page:
Edit with a page name which already exists