Matlab 如何将相同的设置应用于绘图的每个子绘图?

Matlab 如何将相同的设置应用于绘图的每个子绘图?,matlab,plot,Matlab,Plot,下面的代码段仅将大字体应用于底部打印,而不是顶部打印 subplot(2,1,1) pcolor(lon(Lon2Use),-dep,v(Lon2Use,:)'); shading('flat'); colorbar subplot(2,1,2) pcolor(lon(Lon2Use),-dep,PressureGeo(Lon2Use,:)'); shading('flat'); colorbar set(gca,'FontSize',20) title('v along constant la

下面的代码段仅将大字体应用于底部打印,而不是顶部打印

subplot(2,1,1)
pcolor(lon(Lon2Use),-dep,v(Lon2Use,:)'); shading('flat'); colorbar
subplot(2,1,2)
pcolor(lon(Lon2Use),-dep,PressureGeo(Lon2Use,:)'); shading('flat'); colorbar
set(gca,'FontSize',20)
title('v along constant latitude line')
xlabel('longitude')
ylabel('depth')

我怎样才能在顶部绘图中也这样做,最好是尽可能少的额外步骤?

这里有几个选项。您可以在创建第二个轴之前重复调用,即

subplot(2,1,1)
pcolor(lon(Lon2Use),-dep,v(Lon2Use,:)');shading('flat');colorbar
set(gca,'FontSize',20)
subplot(2,1,2)
pcolor(lon(Lon2Use),-dep,PressureGeo(Lon2Use,:)');shading('flat');colorbar
set(gca,'FontSize',20)
或者,您可以存储
子批次
(轴句柄)的返回值,并设置这些返回值的属性,即

ax = [];

ax = [ax; subplot(2,1,1)];
pcolor(lon(Lon2Use),-dep,v(Lon2Use,:)');shading('flat');colorbar
ax = [ax; subplot(2,1,2)];
pcolor(lon(Lon2Use),-dep,PressureGeo(Lon2Use,:)');shading('flat');colorbar
set(ax,'FontSize',20);

我个人倾向于后一种解决方案,因为如果您更改子批次的数量,代码不会更改。

您有几个选项。由于该函数始终返回具有当前焦点的轴的句柄,因此最简单的解决方案是在绘制每个绘图后重复该命令:

subplot(2,1,1)
pcolor(lon(Lon2Use),-dep,v(Lon2Use,:)');shading('flat');colorbar
set(gca,'FontSize',20)    %<----First axis has focus at this point
subplot(2,1,2)
pcolor(lon(Lon2Use),-dep,PressureGeo(Lon2Use,:)');shading('flat');colorbar
set(gca,'FontSize',20)    %<----Second axis has focus at this point
你的坐标轴将自动具有该字体大小

set(0, 'DefaultAxesFontSize', 20);