分享

matlab画一个局部放大的图中图(总结)

 rookie 2014-06-24

照旧感谢原作者,分享者们,阿门!

以下三种方法,szlqq345喜欢用第一种的。

第一种:magnify是个动态放大镜,固化后可以用tools>edit plot移动小图,能选取多个局部图,这个方法不错

用法:打开figure图,输入magnify,左键动态选取查看,ctrl+左键固化,也可右键固化,‘<’和‘>’缩放方法范围,‘+’和‘-’缩放放大比例

原帖:http://www./matlabcentral/fileexchange/5961

第二种:用起来也很方便,缺点是只能框选一处,不能选取多个。

原帖: http://www./viewthread.php?tid=913

美国学者Duane HanselmanandBruce Littlefield编写的MasteringMATLAB7上的例子,实现图中图缩放功能,使用了3个函数,这三个函数在附件中,当然也可以到网站http://www.eece./mm/去下载。
函数简单介绍:
getn()将get()函数的输出参数简化为单个变量;
getbox()实现矩形区域的选择,并捕捉该区域的横纵标的范围
mmzoom创建一个缩放坐标轴。

试图做了例子,传上来一起分享。
例子:   
      x = -pi:pi/12:pi;
      y = tan(sin(x)) - sin(tan(x));
      plot(x,y,'-- ro','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g',
      'MarkerSize',7.5)
      mmzoom      

figure.jpg

第三种:也可编个小程序,分别在两个图形句柄里画图,可以借鉴下

原帖:http://www./redirect.php?fid=6&tid=56146&goto=nextoldset&sid=BpnOkT

代码;

figure(1);
h2=axes('position',[0 0 1 1]);
axis(h2);
x2=0:pi/50:2*pi;
y2=sin(x2);
h3=plot(x2,y2,'b-');
h1=axes('position',[0.3 0.2 0.4 0.4]);
axis(h1);
x1=0:pi/50:2*pi;
y1=cos(x1);
h4=plot(x1,y1,'r-');
hold on
h=[h3; h4];
str=['大图中的曲线';'小图中的曲线'];
legend(h,str);

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多