How to change font size of x axis? [closed]

寵の児 提交于 2019-12-18 05:12:13

问题


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:

%% 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.


回答1:


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.

There is other way to set the fonts for the xlabel, ylable, legend, plot as below; it may complement the upper answer:

% 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);


来源:https://stackoverflow.com/questions/21711606/how-to-change-font-size-of-x-axis

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!