分享

matlab 图中图

 rereal 2013-07-06
但是,subplot中子绘图窗口只能实现m*n矩阵排列。如果我想在一个figure中绘制3个axes,怎么办呢? 一般matlab书上很少介绍。其实很简单。
请看下面的代码。
  1. t=0:.01:1;
  2. y1=sin(6*pi*t);
  3. y2=sin(6*pi*t)./t;
  4. y3=t.^2-t;
  5. figure;  %新建一个figure
  6. a1=axes('position',[0.1 0.6 0.8 0.3]); %%新建一个坐标轴,并设定它的位置。相对于figure的左下角
  7. plot(t,y1);
  8. title('y1','fontsize',14);
  9. a2=axes('position',[0.1 0.1 0.35 0.3]); %%再新建一个坐标轴
  10. plot(t,y2);
  11. title('y2','fontsize',14);
  12. a3=axes('position',[0.55 0.1 0.35 0.3]);%%再新建一个坐标轴
  13. plot(t,y3);
  14. title('y3','fontsize',14);
复制代码
效果如下:
axesSET.png

**************任意排布******************
  1. ax1=axes;                                              %%默认坐标轴位置
  2. ezplot('exp(-x^2)',[-3 3]);
  3. ax2=axes('position',[0.6 0.6 0.2 0.2]);     %%自定义坐标轴位置
  4. ezplot('sin(x)');
复制代码
效果:
plot.png
****************************
  1. subplot(2,2,1);
  2. %your code
  3. subplot(2,2,2);
  4. %your code
  5. subplot(2,2,3);
  6. % your code
  7. subplot(2,2,4);
  8. %your code
  9. hax=axes('position',[.3 .3 .4 .3]);box on
  10. %your code
复制代码
axes5.png

回帖推荐

yaksa 发表于3楼  查看完整内容

其实subplot(2,2,[1 2])就可以了 亲。

相关帖子



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约