爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7687|回复: 8

[程序设计] MATLAB中subplot函数来画多图

[复制链接]

新浪微博达人勋

发表于 2017-9-20 20:44:30 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
在用matlab中subplot函数时,为什么会出现缺图的现象?
单独运行每一个图都可以,但是放在一起就不行,下面是我所用的subplot的代码,用了四个for循环,我试着把循环顺序颠倒,发现结果图上图片缺失的位置改变了,求哪位大神指点!
部分程序:(完整在附近)
figure;
for i=1:3
   subplot(3,4,i,'position',[0.1, 0.7-(i-1)*0.3, 0.15, 0.3]);
    m_proj('equidistant','lon',[110 135],'lat',[20 45]);%用m系列的函数去画图,否则不能用后面的函数
    % m_contourf(Lon,Lat,spei_mean(:,:,4)',25,'linestyle','none');%contour是等值线,contourf是等值线填充图  25 级数?等值线
    m_pcolor(Lon,Lat,spei_mean(:,:,i)');shading interp;
    %m_grid('box','on','Linestyle','none');
    m_grid('box','on','xtick',108:6:132,'fontsize',9,'ytick',18:6:42,'fontsize',9);
    hold on;%保留上一张图的基础上在画图
    % colorbar('southoutside');
    colorbar;
    caxis([29,36]);
    colormap jet
    hold on;
    m_coast('linewidth',1,'color','k');%海岸线 linewidth 线的宽度 color 颜色 KRBYG黑红蓝黄绿
    m_coast('patch',[0.783,0.741,0.721]);%patch 填充颜色?[RGB](红绿蓝三色模型)
end
hold on;

for i=4:6
   subplot(3,4,i,'position',[0.3, 0.7-(i-4)*0.3, 0.15, 0.3]);
    m_proj('equidistant','lon',[110 135],'lat',[20 45]);%用m系列的函数去画图,否则不能用后面的函数
    % m_contourf(Lon,Lat,spei_mean(:,:,4)',25,'linestyle','none');%contour是等值线,contourf是等值线填充图  25 级数?等值线
    m_pcolor(Lon,Lat,spei_mean(:,:,i)');shading interp;
    %m_grid('box','on','Linestyle','none');
    m_grid('box','on','xtick',108:6:132,'fontsize',9,'ytick',18:6:42,'fontsize',9);
    hold on;%保留上一张图的基础上在画图
    % colorbar('southoutside');
    colorbar;
    caxis([29,36]);
    colormap jet
    hold on;
    m_coast('linewidth',1,'color','k');%海岸线 linewidth 线的宽度 color 颜色 KRBYG黑红蓝黄绿
    m_coast('patch',[0.783,0.741,0.721]);%patch 填充颜色?[RGB](红绿蓝三色模型)
end
hold on;




for i=7:9
   subplot(3,4,i,'position',[0.56, 0.7-(i-7)*0.3, 0.15, 0.3]);
     %subplot(4,3,i);

    m_proj('equidistant','lon',[110 135],'lat',[20 45]);%用m系列的函数去画图,否则不能用后面的函数
    % m_contourf(Lon,Lat,spei_mean(:,:,4)',25,'linestyle','none');%contour是等值线,contourf是等值线填充图  25 级数?等值线
    m_pcolor(Lon,Lat,spei_mean(:,:,i)');shading interp;
    %m_grid('box','on','Linestyle','none');
    m_grid('box','on','xtick',108:6:132,'fontsize',9,'ytick',18:6:42,'fontsize',9);
    hold on;%保留上一张图的基础上在画图
    % colorbar('southoutside');
    colorbar;
    caxis([29,36]);
    colormap jet
    hold on;
    m_coast('linewidth',1,'color','k');%海岸线 linewidth 线的宽度 color 颜色 KRBYG黑红蓝黄绿
    m_coast('patch',[0.783,0.741,0.721]);%patch 填充颜色?[RGB](红绿蓝三色模型)
end
hold on;

for i=10:12
   subplot(3,4,i,'position',[0.8, 0.7-(i-10)*0.3, 0.15, 0.3]);
    m_proj('equidistant','lon',[110 135],'lat',[20 45]);%用m系列的函数去画图,否则不能用后面的函数
    % m_contourf(Lon,Lat,spei_mean(:,:,4)',25,'linestyle','none');%contour是等值线,contourf是等值线填充图  25 级数?等值线
    m_pcolor(Lon,Lat,spei_mean(:,:,i)');shading interp;
    %m_grid('box','on','Linestyle','none');
    m_grid('box','on','xtick',108:6:132,'fontsize',9,'ytick',18:6:42,'fontsize',9);
    hold on;%保留上一张图的基础上在画图
    % colorbar('southoutside');
    colorbar;
    caxis([29,36]);
    colormap jet
    hold on;
    m_coast('linewidth',1,'color','k');%海岸线 linewidth 线的宽度 color 颜色 KRBYG黑红蓝黄绿
    m_coast('patch',[0.783,0.741,0.721]);%patch 填充颜色?[RGB](红绿蓝三色模型)
end

这是画出的结果图 缺失了五张

这是画出的结果图 缺失了五张

mean_mouthlwh.m

5.85 KB, 下载次数: 7, 下载积分: 金钱 -5

我所用的程序

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-21 06:23:04 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-21 06:54:16 | 显示全部楼层
没看出来,好复杂啊,要下载看才行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-9-21 12:37:19 | 显示全部楼层
yifan1625 发表于 2017-9-21 06:54
没看出来,好复杂啊,要下载看才行

嗯哈 这个我调出来了 请问你知不知道怎么把12个小图的colorbar变成一个大的colorbar不啊?每一个都有一个colorbar看起来有点别扭
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2017-9-21 13:09:55 | 显示全部楼层
一只斑马梁 发表于 2017-9-21 12:37
嗯哈 这个我调出来了 请问你知不知道怎么把12个小图的colorbar变成一个大的colorbar不啊?每一个都有一个 ...

统一 caxis
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-24 06:51:03 | 显示全部楼层
一只斑马梁 发表于 2017-9-21 12:37
嗯哈 这个我调出来了 请问你知不知道怎么把12个小图的colorbar变成一个大的colorbar不啊?每一个都有一个 ...

以前曾经试过,忘记了,抱歉
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-24 06:51:49 | 显示全部楼层

这个可以试一下,高人
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-10-24 14:30:00 | 显示全部楼层

好哒 已解决 谢啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2022-10-13 16:51:26 | 显示全部楼层
请问楼主缺图的原因是什么导致的呀,我也出现缺一张的情况
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表