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

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

Respuesta aceptada

Dyuman Joshi
Dyuman Joshi el 15 de Nov. de 2023
Editada: Dyuman Joshi el 15 de Nov. de 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 comentarios
拓磨 佐藤
拓磨 佐藤 el 15 de Nov. de 2023
Great! Thank you for your answer.
Dyuman Joshi
Dyuman Joshi el 15 de Nov. de 2023
You are welcome!

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!