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';

Community Treasure Hunt

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

Start Hunting!