【matlab】如何将subplot中绘出的子图放大显示zz

謨之恋w9t
2013-10-13 · TA获得超过3293个赞
知道小有建树答主
回答量:858
采纳率:0%
帮助的人:1603万
展开全部
首先你要弄清楚matlab中figure 的架构 close all x = -pi:.1:pi; y = sin(x); plot(x,y) 当以上指令执行到plot时 matlab会create一个figure 再createn附属於这个figure的axes 然後在这个axes上画图 close all x = -pi:.1:pi; y1 = sin(x); y2 = cos(x); subplot(2,1,1);plot(x,y1) subplot(2,1,2);plot(x,y2) 当以上指令执行到subplot时 matlab会create一个figure 及"两个" 附属於这个figure的axes plot会自动在第一个axes上画图 第二个subplot会跳到第二个axes 也就是去activate第二个axes 接下来的plot就在这个axes上画图 请先保留这个图以便进一步解说 好...所以你现在要做的事情是 把你想要的axes放大到整个figure 并把其他axes删掉 首先你要找到这个figure下一共有多少axes 我们要用get指令 t=get(gcf,'children') get用来取出物件的property gcf就代表目前active的figure children就是figure的其中一种property 在这里就代表所有归gcf管的axes 你会发现t是个长度为二的vector 因为我们已经用subplot创了两个axes 如果执行delete(t(1)) 那cos的就会被删去 接下来得把剩下的axes放大 set(t(2),'position',[0 0 1 1]) set就是重新设定物件的property t(2)就是我们要设定的axes position是axes的其中一种property [0 0 1 1]就是我们要设定的值 分别代表左底宽高 因为你希望放到最大 所以"左边" 距离figure的框要是零 而"底边" 距离figure的框要是零 宽度及高度都要是 100% 这篇讲的很简略 你应该把matlab help中的Graphics翻过一次 尤其是Handle graphic Objects 来互相对照
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式