声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2039|回复: 5

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

[复制链接]
发表于 2014-3-18 15:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
如标题所示,关于帖子”(转帖)matlab图形基础“http://forum.vibunion.com/thread-48993-1-1.html的补充。我们最了解的就是利用subplot函数在 一个窗口中绘制多个图画,如下程序:
  1.        subplot(221); % 2、2、1之间没有空格也 可以;在第一块绘图
  2.   subplot(222); %在第二块绘图
  3.   subplot(223) ;%在第三块绘图
  4.   subplot(224); %在第四块绘图
复制代码
然而,subplot中子绘图窗口只能实现m*n矩阵排列,当在一个figure中绘制3个axes时, subplot 函数貌似有点”心有余而力不足“!
针对这种情况,请看下面的代码(运行结果如图1所示):
  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);
复制代码
当我们想”任意排布“时,可以使用一下代码(运行结果如图2所示):
  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)');
复制代码
或者利用这个代码(运行结果如图3所示):
  1. subplot(2,2,1);
  2. subplot(2,2,2);
  3. subplot(2,2,3);
  4. subplot(2,2,4);
  5. hax=axes('position',[.3 .3 .4 .3]);box on
复制代码

希望对那些有需要的同学有用!!







1.png

图三

图三

图二

图二

点评

赞成: 5.0
不足之处,还请大家补充指正!!  发表于 2014-3-19 09:16
赞成: 5
  发表于 2014-3-18 18:37
赞成: 5
  发表于 2014-3-18 18:24

评分

2

查看全部评分

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2014-3-18 18:25 | 显示全部楼层
恩,不错,楼主补充的不很好,讲解很详细。程序都运行了,没有错误!谢谢分享!!
发表于 2014-5-6 12:22 | 显示全部楼层
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-28 20:44 , Processed in 0.094577 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表