Is there any way to change the font size property of x axis in MATLAB for a figure? I need to change the size of the values in x axis (not the title, that one could modify with xlabel
property). I have the next piece of code:
是否有办法在MATLAB中改变x轴的字体大小属性?我需要改变x轴的值(不是标题,可以用xlabel属性修改)。我有下一段代码:
%% Some figure properties:
width=15;height=20;alw=0.75;
%% Figure:
for i=1:8
figure;set(gcf,'color','white');
pos=get(gcf, 'Position');
set(gcf, 'Position', [pos(1) pos(2) width*100, height*100]);
set(gca, 'LineWidth', alw);axis off;
axes('position',[0.06 0.08 0.87 0.38])
plot(0:24,s(i).obs(:,1),'linewidth',2,'color','b');hold on;
plot(0:24,s(i).sim(:,1)-273.15,'linewidth',2,'color','r');
legend('Obs','Sim','location','northeastoutside');
set(gca,'xtick',0:24,'xticklabel',0:24);
set(gca,'ytick',2:2:28,'yticklabel',2:2:28);
xlabel('Hour');ylabel('[°C]');axis([0 24 2 28]);grid on;
axes('position',[0.06 0.53 0.87 0.38]);
plot(s(i).time.obs,s(i).serie.obs,'b');hold on;
plot(s(i).time.sim,s(i).serie.sim-273.15,'r');
datetick('x','myy');axis tight;grid on;
legend('Obs','Sim','location','northeastoutside');
title([s(i).name ', porcNaN: ' num2str(roundn(s(i).rnan,-1)) ...
'%, period: ' datestr(s(i).period(1,:),20) ' - '...
datestr(s(i).period(2,:),20)],'fontsize',12);
ylabel('[°C]');set(gca,'fontsize',8)
image_name=['temp_sup_' s(i).name];
print(image_name,'-dpng','-r600')
end
"s" is a struct. The problem is the values in the x axis of the second plot (the figure above), datetick put all months and years values, I need this information (each one month), but they're very close together. I know the "fontsize" property, but this property change the font size in the two axis (x and y), and I need only change the x axis.
“s”是一个结构体。问题是第二个图(上图)中的x轴上的值,datetick把所有月份和年份值都放在一起,我需要这个信息(每个月),但是它们非常接近。我知道“fontsize”属性,但是这个属性改变了两个轴(x和y)的字体大小,我只需要改变x轴。
1 个解决方案
#1
9
I always do it in the following way:
我总是这样做:
plot(X)
set(gca, 'FontName', 'Arial')
set(gca, 'FontSize', 12)
ylabel('Label Y axis')
xlabel('Label X axis')
In this way, the axis and the label will have the requested font and size. It is important to put 'xlabel'
and 'ylabel'
after the 'set'
. The order in this case matters.
这样,轴和标签就会有请求的字体和大小。在“set”后面加上“xlabel”和“ylabel”是很重要的。这个案子的顺序很重要。
There is other way to set the fonts for the xlabel, ylable, legend, plot as below; it may complement the upper answer:
还有另一种方法来设置xlabel, ylable, legend, plot如下的字体;它可以补充上面的答案:
% Define values
linewidthnumber = 2;
legendfontsize = 12;
labelfontsize = 12;
axisfontsize = 12;
custom_plot_handle_name = plot(x);
custom_legend_handle_name = legend();
custom_x_label_name = xlabel();
custom_y_label_name = ylabel();
% Set the parameters now to the given values
set(h, 'Linewidth', linewidthnumber);
set(custom_legen_handle_name,'FontSize', legendfontsize);
set(custom_x_label_name, 'FontSize', labelfontsize);
set(custom_y_label_name, 'FontSize', labelfontsize);
set(gca, 'FontSize', axisfontsize);
#1
9
I always do it in the following way:
我总是这样做:
plot(X)
set(gca, 'FontName', 'Arial')
set(gca, 'FontSize', 12)
ylabel('Label Y axis')
xlabel('Label X axis')
In this way, the axis and the label will have the requested font and size. It is important to put 'xlabel'
and 'ylabel'
after the 'set'
. The order in this case matters.
这样,轴和标签就会有请求的字体和大小。在“set”后面加上“xlabel”和“ylabel”是很重要的。这个案子的顺序很重要。
There is other way to set the fonts for the xlabel, ylable, legend, plot as below; it may complement the upper answer:
还有另一种方法来设置xlabel, ylable, legend, plot如下的字体;它可以补充上面的答案:
% Define values
linewidthnumber = 2;
legendfontsize = 12;
labelfontsize = 12;
axisfontsize = 12;
custom_plot_handle_name = plot(x);
custom_legend_handle_name = legend();
custom_x_label_name = xlabel();
custom_y_label_name = ylabel();
% Set the parameters now to the given values
set(h, 'Linewidth', linewidthnumber);
set(custom_legen_handle_name,'FontSize', legendfontsize);
set(custom_x_label_name, 'FontSize', labelfontsize);
set(custom_y_label_name, 'FontSize', labelfontsize);
set(gca, 'FontSize', axisfontsize);