Effacer les filtres
Effacer les filtres

Setting font size separately for x&y axes

8 vues (au cours des 30 derniers jours)
z8080
z8080 le 2 Juil 2016
Commenté : Star Strider le 2 Juil 2016
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?

Réponse acceptée

Star Strider
Star Strider le 2 Juil 2016
Modifié(e) : Star Strider le 2 Juil 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 commentaires
z8080
z8080 le 2 Juil 2016
Many thanks!
Star Strider
Star Strider le 2 Juil 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Labels and Annotations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by