How can I keep the yaxis label inside rather than outside

6 views (last 30 days)
How can I keep the yaxis label inside rather than outside

Answers (2)

Davide Masiello
Davide Masiello on 17 Oct 2022
Edited: Davide Masiello on 17 Oct 2022
You could play around with the "Position" field of the text structure of the label.
See below
plot(1:10,1:10)
xlabel('xlabel')
yl = ylabel('ylabel');
yl.Position
ans = 1×3
-0.6180 5.5000 -1.0000
plot(1:10,1:10)
xlabel('xlabel')
yl = ylabel('ylabel');
a = gca;
a.YRuler.TickLabelGapOffset = -15;
Warning: Error updating Axes.

Update failed for unknown reason.
% yl.Position = [1 5.5000 -1];
  2 Comments
CODER
CODER on 17 Oct 2022
How can you put the tick level (1 2 3 4 5 6 7 8 9 10) inside in yaxis with the ticks rather than outside?

Sign in to comment.


Davide Masiello
Davide Masiello on 17 Oct 2022
Other possibility, a bit cumbersome I'd say
plot(1:10,1:10)
xlabel('xlabel')
ylabel('ylabel')
a = gca;
a.YTickLabels = {''};
a.YLabel.String = {''};
axis([0 11 0 11])
t1 = text(0.025*diff(a.XLim)*ones(10,1),(1:10)',num2cell(1:10));
t2 = text(0.075*diff(a.XLim),5.5,'Ylabel');
t2.Rotation = 90;
t2.HorizontalAlignment = 'center';

Categories

Find more on Formatting and Annotation 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!