Matlab 子地块大小不同
我用5x3子图创建图,每次迭代,每列再添加3个图,每次迭代,前三个图缩小一点 这是我的代码:Matlab 子地块大小不同,matlab,subplot,Matlab,Subplot,我用5x3子图创建图,每次迭代,每列再添加3个图,每次迭代,前三个图缩小一点 这是我的代码: for i=1:4%for every station figure for j=1:sSelect %for every storm Hm0=eval(strcat('Hm0',Wavenames(i),'C'));%create data Tz=eval(strcat('Tz',Wavenames(i),'C')); Tp=eval(st
for i=1:4%for every station
figure
for j=1:sSelect %for every storm
Hm0=eval(strcat('Hm0',Wavenames(i),'C'));%create data
Tz=eval(strcat('Tz',Wavenames(i),'C'));
Tp=eval(strcat('Tp',Wavenames(i),'C'));
Ti=numericdates.(Wavenames(i));
ix=Ti>Selectnum(j,1)-numMore & Ti<Selectnum(j,2)+numMore; %index of dates numMore hours before and after the storm
Hm0Plot=Hm0(ix); %create data that needs to be plotted
TzPlot=Tz(ix);
TpPlot=Tp(ix);
TPlot= datetime(Ti(ix),'ConvertFrom','datenum');%dates
if ~isempty(TPlot)
subplot(3,5,j)
plot(TPlot,Hm0Plot)
xlabel('Date')
ylabel('Hm0 (m)')
xtickformat('dd-MM-yyyy HH:mm:ss')
subplot(3,5,j+5)
plot(TPlot,TzPlot)
xtickformat('dd-MM-yyyy HH:mm:ss')
xlabel('Date')
ylabel('Tz0 (1/s)')
subplot(3,5,j+10)
plot(TPlot,TpPlot)
xtickformat('dd-MM-yyyy HH:mm:ss')
xlabel('Date')
ylabel('Tp (1/s)')
suptitle(Wavenames(i))
end
end
end
每个站点的i=1:4%的
图形
对于j=1:s,为每个风暴选择%
Hm0=eval(strcat('Hm0',Wavenames(i),'C');%创建数据
Tz=评估(strcat('Tz',波名(i),'C');
Tp=评估(strcat('Tp',波名(i),'C');
Ti=数字日期(波形名称(i));
ix=Ti>Selectnum(j,1)-numMore&Ti这是因为命令suptitle
在循环中。如果我把它放在循环之外,它就会工作
for i=1:4%for every station
figure
for j=1:sSelect %for every storm
Hm0=eval(strcat('Hm0',Wavenames(i),'C'));%Hm0BanyulsC
Tz=eval(strcat('Tz',Wavenames(i),'C'));%TzBanyulsC
Tp=eval(strcat('Tp',Wavenames(i),'C'));%TpBanyulsC
Ti=numericdates.(Wavenames(i));
ix=Ti>Selectnum(j,1)-numMore & Ti<Selectnum(j,2)+numMore; %index of dates numMore hours before and after the storm
Hm0Plot=Hm0(ix);
TzPlot=Tz(ix);
TpPlot=Tp(ix);
TPlot= datetime(Ti(ix),'ConvertFrom','datenum');
if ~isempty(TPlot)
subplot(3,5,j)
plot(TPlot,Hm0Plot)
xlabel('Date')
ylabel('Hm0 (m)')
xtickformat('dd-MM-yyyy')
% title(strcat('Storm',string(j)))
subplot(3,5,j+5)
plot(TPlot,TzPlot)
xtickformat('dd-MM-yyyy')
xlabel('Date')
ylabel('Tz0 (1/s)')
subplot(3,5,j+10)
plot(TPlot,TpPlot)
xtickformat('dd-MM-yyyy')
xlabel('Date')
ylabel('Tp (1/s)')
end
end
suptitle(Wavenames(i))
end
每个站点的i=1:4%的
图形
对于j=1:s,为每个风暴选择%
Hm0=eval(strcat('Hm0',Wavenames(i),'C');%Hm0BanyulsC
Tz=评估(strcat('Tz',Wavenames(i),'C');%TzBanyulsC
Tp=eval(strcat('Tp',波名(i),'C');%TpBanyulsC
Ti=数字日期(波形名称(i));
ix=Ti>Selectnum(j,1)-numMore&tit这看起来很奇怪,从未见过这样的结果。你使用的是什么版本的MATLAB?如果这在最新版本中是可复制的,您应该提交一份错误报告。尝试删除日期标签(xlabel
),看看这是否可以临时修复it@CrisLuengomatlabR2020a@AnderBiguri问题不在于xlabel。但你确实给了我一个主意。显然,这是因为我绘制了4次suptitle。如果我将其从循环中删除(请参见答案),我会修复与您的问题无关的问题,但如果您有R2018b或更高版本,则最好使用它<代码>suptitle
需要生物信息学工具箱