MATLAB Answers

How to force matlab in a loop to always give you scientific/exponential notation?

2 views (last 30 days)
Kim Arnold
Kim Arnold on 29 Jul 2021
Answered: Jan on 29 Jul 2021
I want to do a for loop to produce several plots with subplots. On y-axis I always have absolute Signal intensity. For some of the graphs matlab uses then exponential notation, for others it uses for example numbers like 20000. Since I dont want to have a fix number in the exponential notation I cannot use for example
ax.YAxis.Exponent=3
because for the aformentioned number it gives me then 20 x 10^3 where I would prefer 2 x 10^4. I want that Matlab does the adjustment of the exponent automatically based on the max number on the y-axis. Does someone know how to force Matlab to use always use exponential notation?

Answers (1)

Jan
Jan on 29 Jul 2021
What about:
ax = axes;
plot(1:10);
drawnow;
ax.YAxis.Exponent = ceil(log10(max(ax.YAxis.Limits)));

Community Treasure Hunt

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

Start Hunting!

Translated by