How to move the Yaxis exponent outside

9 views (last 30 days)
Madmad on 19 Feb 2024
Commented: Voss on 20 Feb 2024
I would like to move the exponent of the Y axis that is naturally above the figure, to the outside (left side) of the figure.
See my impressive plot attached. Any suggestion (I mean with an automatic way) such as 'TickDir' 'out' for the ticks, but for the exponent x10^6 here. Cheers

Accepted Answer

Voss on 19 Feb 2024
I don't know of a way to move that exponent label, but if you have R2023b or later, you can use the ysecondarylabel function to set its string to empty, and then create your own exponent label (using the text function) where you want.
ylim([1e6 7.5e6])
ax = gca();
text(ax, ...
'String','x10^{6}', ...
'Units','normalized', ...
'Position',[0 1], ...
'HorizontalAlignment','right', ...
Madmad on 20 Feb 2024
Thanks for your method, I do not have 2023 but I will keep writing using text.

Sign in to comment.

More Answers (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 19 Feb 2024
Here is one example how to get it done:
% Sample data for plot display
x = linspace(0, 2*pi, 100);
y = 1e6 * sin(x);
%% Demo 1
plot(x, y);
yticks([0, max(y)])
yticklabels({'0', '10^6'});
title('Example Plot');
%% Demo 2
plot(x, y);
yticks([min(y), 0, max(y)])
yticklabels( {'-10^6', '0', '10^6'});
title('Example Plot');
  1 Comment
Madmad on 19 Feb 2024
Thanks for your answer, but this is not what I am looking for. On your second example, I would like -1 0 1 to be displayed on the y axis; with the exponent at the top. I do not want the exponent x10^6 written at each line like in your example, I need the number on the left of the figure rather than above it, like in my example.

Sign in to comment.


Find more on Line Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!