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

2 Ansichten (letzte 30 Tage)
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?

Antworten (1)

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

Kategorien

Mehr zu Graphics Objects finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by