MATLAB: Changing only axis fontsize

axisfontsizesubplot

Hi all,
I'm wrinting a function that I run just before exporting my figures in order to increase the fontsize of the axis TICKS labels (basically, numbers). I'm doing this as follows:
fig = gcf();
fig = get(fig,'Parent');
ax = findobj(fig,'type','axes', ...
'-not','Tag','legend','-not','Tag','Colorbar');
set(ax,'fontsize',13)
The problem here is that when I do that, it also changes the fontsize of my labels because they are included in my "ax" variable (I change them in my main.m).
How can I select only the and not also the labels created with xlabel, ylabel or supblabel ?
Thanks !

Best Answer

As you are excluding legend and colorbar from your axes, we deduce that you are using R2014a or earlier; in R2014b and later, legend and colorbar are not axes.
With R2014a or earlier, there is only one font size property for axes.
In order to change the font size of only the labels, you need to use a technique similar to what is used in https://www.mathworks.com/matlabcentral/fileexchange/3486-xticklabel-rotate where the automatic labels are found and are replaced by text objects that have the desired properties.
If you were using R2014b or later, you could avoid all of that by setting the XAxis.Fontsize or YAxis.FontSize properties of the axes.