グラフのy軸の目盛り​ラベルにて、整数部の​表示桁数を指定する方​法について

19 views (last 30 days)
拓磨 佐藤
拓磨 佐藤 on 15 Nov 2023
Commented: Dyuman Joshi on 15 Nov 2023
下記のようなグラフを表示するコードで、大きな整数値だと指数表示になって細かい値が見れなくなってしまいます。
「1x10^5」のように指数表示せず、「100001 100002 100003 100004 100005」という値をそのまま縦軸に表示する方法を知りたいです。
小数部の精度はytickformat関数で指定できますが、整数部の表示桁数を指定する方法などはあるのでしょうか。
x = 1:5;
y = [100001 100002 100003 100004 100005];
plot(x, y);
ytickformat('%d');

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 15 Nov 2023
Edited: Dyuman Joshi on 15 Nov 2023
The ticklabels are stored as the mantissa and the exponent is stored as the property of the corresponding axis (see below).
So, changing the tick format only changes the values of the mantissa.
Solution - Change the exponent of the y-axis to 0
x = 1:5;
y = [100001 100002 100003 100004 100005];
labels = yticklabels
labels = 11×1 cell array
{'0' } {'0.1'} {'0.2'} {'0.3'} {'0.4'} {'0.5'} {'0.6'} {'0.7'} {'0.8'} {'0.9'} {'1' }
plot(x, y)
ax = gca;
ax.YAxis.Exponent = 0;
%Check labels after modification
labels = yticklabels
labels = 9×1 cell array
{'100001' } {'100001.5'} {'100002' } {'100002.5'} {'100003' } {'100003.5'} {'100004' } {'100004.5'} {'100005' }
  2 Comments
拓磨 佐藤
拓磨 佐藤 on 15 Nov 2023
Great! Thank you for your answer.
Dyuman Joshi
Dyuman Joshi on 15 Nov 2023
You are welcome!

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!