牛小贱 发表于 2014-3-18 15:54

关于【(转帖)matlab图形基础】补充_一张图中绘制多个坐标轴!

如标题所示,关于帖子”(转帖)matlab图形基础“http://forum.vibunion.com/thread-48993-1-1.html的补充。我们最了解的就是利用subplot函数在 一个窗口中绘制多个图画,如下程序:
       subplot(221); % 2、2、1之间没有空格也 可以;在第一块绘图
  subplot(222); %在第二块绘图
  subplot(223) ;%在第三块绘图
  subplot(224); %在第四块绘图然而,subplot中子绘图窗口只能实现m*n矩阵排列,当在一个figure中绘制3个axes时, subplot 函数貌似有点”心有余而力不足“!
针对这种情况,请看下面的代码(运行结果如图1所示):
t=0:.01:1;
y1=sin(6*pi*t);
y2=sin(6*pi*t)./t;
y3=t.^2-t;
figure;%新建一个figure
a1=axes('position',); %%新建一个坐标轴,并设定它的位置。相对于figure的左下角
plot(t,y1);
title('y1','fontsize',14);
a2=axes('position',); %%再新建一个坐标轴
plot(t,y2);
title('y2','fontsize',14);
a3=axes('position',);%%再新建一个坐标轴
plot(t,y3);
title('y3','fontsize',14);当我们想”任意排布“时,可以使用一下代码(运行结果如图2所示):ax1=axes;                                 %%默认坐标轴位置
ezplot('exp(-x^2)',[-3 3]);
ax2=axes('position',);   %%自定义坐标轴位置
ezplot('sin(x)');或者利用这个代码(运行结果如图3所示):
subplot(2,2,1);
subplot(2,2,2);
subplot(2,2,3);
subplot(2,2,4);
hax=axes('position',[.3 .3 .4 .3]);box on
希望对那些有需要的同学有用!!







沧海一声笑 发表于 2014-3-18 18:25

恩,不错,楼主补充的不很好,讲解很详细。程序都运行了,没有错误!谢谢分享!!{:{39}:}

彭龙 发表于 2014-5-6 12:22

{:{39}:}
页: [1]
查看完整版本: 关于【(转帖)matlab图形基础】补充_一张图中绘制多个坐标轴!