最近画图需要一个图片里有多个子图,那当然最常用的就是subplot啦,但是发现subplot有个问题就是每个子图都出一个colorbar,那如果有多个子图,就有很多一模一样的colorbar抢占了本该属于map的空间。姐姐必须把你们搞掉。
然鹅,百度了半天竟然没有找到解决这个的办法,哭唧唧。
一些网上的解决办法是利用axes,axis off来画小图,但是这个我不熟悉额,还是用subplot比较顺手,难道就这样放弃吗?当然要say no! 搞科研的女人怎么能被subplot的小小colorbar打倒。
于是,调试半天,终于搞出解决办法。简而言之,就是给子图set position,具体操作如下:
position的四个参数含义为:xmin,ymin,width,height
step1:读入数据
%% readin data
clc;clear;
lat=double(ncread('./2_25_latlon_var.nc','lat'));
lon=double(ncread('./2_25_latlon_var.nc','lon'));
var=double(ncread('./2_25_latlon_var.nc','TS'));
[cnlat,cnlon]=meshgrid(lat,lon);
step2:绘制子图,这里以两个子图为例,绘制中国地区的map
%% China part
figure
set(gcf,'Position',[100 100 1000 350]) %设置图片整体大小,四个参数