Setting font size separately for x&y axes

I am using the Property Editor in Matlab 2016a to customise my plot for publication. I would like to increase the font size of my x axis labels, while leaving those of the y axis unchanged. However, the FontSize property changes both at the same time, and I did not find any separate properties for the font on the two axes. Can this be done in Property Editor, or at least is there a command-line workaround?

 Respuesta aceptada

Star Strider
Star Strider el 2 de Jul. de 2016
Editada: Star Strider el 2 de Jul. de 2016
You have to use a text object if you want to change the font size of the tick labels.
Example:
x = 1:10;
y = rand(1, 10);
figure(1)
plot(x, y)
xt = get(gca, 'XTick');
set(gca, 'XTickLabel','') % Turn Off X-Labels
xts = regexp(sprintf('%.1f ', xt), ' ','split');
fntsz = 18; % Font Size
text(xt, -(1/(10*fntsz))*diff(ylim)*ones(size(xt)), xts(1:end-1), 'FontSize', fntsz, 'HorizontalAlignment','center', 'VerticalAlignment','top')
I made this as adaptable as I could, but you will probably have to experiment with it to get the result you want.
EDIT Added separate font size variable ‘fntsz’, so the text position automatically spaces correctly w.r.t. x-axis.

2 comentarios

z8080
z8080 el 2 de Jul. de 2016
Many thanks!
Star Strider
Star Strider el 2 de Jul. de 2016
My pleasure!
Please see the edited version. I added a separate font size variable and used it to calculate the y-coordinate of the text object so the spacing between the text object and the x-axis to automatically scale correctly, regardless of font size.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Labels and Annotations en Centro de ayuda y File Exchange.

Preguntada:

el 2 de Jul. de 2016

Comentada:

el 2 de Jul. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by