这篇文章主要讲讲在matlab中如何控制子图的大小、位置及如何控制各个子图所对应的colorbar。 1.caxis([cmin cmax]) 用来控制colorbar的上下边界,通过控制边界可以使各个子图使用同样范围的colorbar。 clear all clc subplot(2,1,1) [x y]=meshgrid(-1:0.01:1); f=x.^2+y.^2; mesh(x,y,f) colorbar caxis([0 4]) subplot(2,1,2) [x y]=meshgrid(-1:0.01:1); f=x.^2+y.^2+2; mesh(x,y,f) colorbar caxis([0 4]) 2.在上面的例子中我们使两个子图的colorbar保持一致,这时候就出现了另外一个问题, 既然两个图的colorbar一样,那我们为什么不合二为一呢?我们将colorbar统一放到两个 图形的右边,这时候就需要对子图的大小、位置进行控制。 clear all clc h1=subplot(2,1,1); % get(h1,'Position') set(h1,'Position',[0.2 0.6 0.5 0.35]) [x y]=meshgrid(-1:0.01:1); f=x.^2+y.^2; mesh(x,y,f) h=colorbar; % get(h, 'Position') set(h,'Position',[0.8 0.1 0.05 0.8]) caxis([0 4]) h2=subplot(2,1,2); % get(h2,'Position') set(h2,'Position',[0.2 0.1 0.5 0.35]) [x y]=meshgrid(-1:0.01:1); f=x.^2+y.^2+2; mesh(x,y,f) % colorbar % caxis([0 4]) get可以得到相应图形句柄的Position值,然后再通过set进行具体设定即可。 转载自:http://blog.sciencenet.cn/home.php?mod=space&uid=412191&do=blog&id=625804
|