文件交换

图片缩略图

放大

1.0.0.0版(4.13 KB)通过 里克几何
打开鼠标变成一个弹出式放大镜看2D绘图的细节。

274个下载

更新2016年5月11日

查看许可协议

编者按:这个文件是一个文件交换本周的挑选

曾经希望MATLAB有一个放大镜,所以你可以看看你的地块的小区域的细节,而无需进行放大和缩小连连?只要运行与兴趣,目前的数字人物“magnify.m”,然后用鼠标左键,弹出一个放大的教职员,你控制。或者使用“Ctrl”键的同时单击(复印和打印数据时使用),弹出一个放大镜是“锁定”在图中释放。使用“<”和“>”键进行放大镜更小或更大。使用“ - ”和“+”来增加或减少的放大级别。

引用作为

里克几何(2020)。放大(//www.tianjin-qmedu.com/matlabcentral/fileexchange/5961-magnify), MATLAB中央文件交换。检索

评论和评分(96)

克里斯

增加了一个简单的修改,允许独立的x/y放大。调整a2的设置用户数据在第31行有三个字段(2 2 0.2),调整64行调用a2_param(3)不(2)位置设置,设置67行调用a2_param(2)(1),然后添加两个额外的elseifs复制75 - 78行修改a2_param(2)与您选择的按钮(我去[和])。比单一变焦更有用。

李飚

很不错的工具。这是非常有帮助的。谢谢 !

林的Helly

济阳晨

宗晶晶

Wan柯蒂斯

非常感谢。它的工作。

MM

志勇

非常有帮助,非常感谢你!

永阳

你好,当我把这个函数放到MATLAB2018版本的库中,我得到一个错误:计算图WindowButtonMotionFcn。但它适用于较低版本的软件。

困境

王霍华德

这是非常有用的!

艾伦

伟大的功能。不过,我想停止功能的执行,但不关闭的身影,但还没有找到一个干净的方法,这样做。
我还有另外一个问题,试图删除通过右键单击或持有“Ctrl键”左/删除放大盒,但能够通过与替换线34-37进行整治:

集(A2, '标签', 'MAGBOX', '的UserData',[2,0.2], '颜色',GET(A1, '颜色'), '盒子', '上');%放大倍率,帧大小

然后加入以下代码线92后:

(eventdata.Key,'backspace') || strcmp(eventdata.Key,'delete')
删除(findobj (src.Children、“类型”、“轴”,“标签”,“MagBox”))

这增加了附加轴的标签使其更容易识别并删除所有放大轴时,“删除”或“退格”被按下。

徐勇

海林杜

伟大的工作!谢谢你!

强尼黄

XJž

citysky

栾陈

小蒋旺

如何移动锁定放大镜?

彬彬

太好了!谢谢!

必要么

谢谢

孙大卫

那很棒!THX〜

Yiyong太阳

梓利

谢谢

张颖

美妙的,谢谢!

chunyang李

谢谢你!

强肖

下坪

非常感谢你!

mms3airei

插口

这实在是帮了我很多。

铁男行

谢谢 !!!
它帮助了我很多,我做我的代码一点点的变化,如果你不介意。
谢谢你!

FATCAT

谢谢

李煜

amrkzp

呵呵

真的很不错〜

鹏欣汉

非常有帮助

马康

伟大的工作!它帮助了我很多,我在做我的代码变化不大。

F1 =图。
图(1:100,randn(1100),(1:300)/ 3,兰特(1300)),网格上,
放大(f1)
您%运行下code.Assuming我们之前只是MAGNIFY一次必须完成的放大图中。
d = GET(F1,子女');
d(1).POSITION = [0 0.5 d(1).POSITION(3)d(1).POSITION(4)];%移动放大图的特定位置
轴= d(2);
矩形( '位置',[d(1).XLim(1),d(1).YLim(1),d(1).XLim(2)-d(1).XLim(1),d(1)。YLim(2)-d(1).YLim(1)],'LineWidth',2,'LineStyle','--','EdgeColor','r')%Mark the magnified part in the original figure

应取代“fullcrosshair”与“十字线”,因为前者是R2015不支持的,后来(也可能在R2014)万博1manbetx

鹏利周

这是非常有用的!干得好!matlab现在更强大了

约瑟夫

迈克尔

当人物风格被剪掉的时候,它似乎就不工作了——有什么想法吗?

要重现这种行为,请尝试以下不奏效的方法:
集(0,“DefaultFigureWindowStyle”,“停靠”);
图;图(1:100,randn(1100),1:300)/ 3,兰特(1300))
网格; MAGNIFY
但如果你回到设置(0 'DefaultFigureWindowStyle','normal');然后就可以了。

凤鸣

非常感谢!

谢啦!这是非常辉煌!

太棒了! !

阿里

这对我的论文很有帮助,谢谢。伟大的工作!

完美! ! ! !

徐向春

尼斯的工作。
如何从目前的数字取下它,无需关闭它?

谢谢!

Nilimb

出色的代码。我如何在这里面uipanel图上延伸到图像?

维克多P

太好了!谢谢!

尤科恩

优秀的

尤科恩

姚明

伟大的工作,^ _ ^

在我的情况下,Y轴是log比例,似乎只是一个littile修改如下会做

更换
组(A2, 'YLim',a1_cp(2)+(1 / a2_param(1))*(a2_pos(4)/ a1_pos(4))* DIFF(GET(A1, 'YLim'))* [ - 0.5 0.5])(在函数 “ButtonMotionCallback”)
通过
组(A2, 'YLim',10。^(日志10(a1_cp(2))+(1 / a2_param(1))*(a2_pos(4)/ a1_pos(4))* LOG10(Ylima1(2)/ Ylima1(1))* [ - 0.5 0.5]))

我做了以下修改才能正常工作:

在==> MAGNIFY>在39 ButtonDownCallback
- 集(GET(A2, '儿童'),...
——“线宽”,2);

+ line_obj = findobj(A2, '类型', '行');
如果+〜的isEmpty(line_obj)
+ set(line_obj,‘LineWidth’,2);
+结束

很不错的功能!但是有一个小问题。通过与功能的图像操作有一个错误:

> > imshow (im, []);
> >放大;
???使用==误差>集
有没有“线宽”中的“图像”类属性。

误差在==> MAGNIFY> ButtonDownCallback在39
集(GET(A2, '儿童'),...

因此,在一个错误函数继续正常工作在鼠标移动。
我认为,有必要检查上轴上的对象是图像并且在线路的特性这种情况下变化,以消除。

pangyuteng

巴赫拉姆

优秀的工作。我想它需要再做一次修订,以解决在新版本的Matlab中出现的一些bug。

我使用这个函数与imshow(),它给我一个错误:

有没有“线宽”中的“图像”类属性。
误差在==> MAGNIFY> ButtonDownCallback在39
集(GET(A2, '儿童'),...

当然,我可以很容易地通过移除该行代码解决这个问题。此外Ctrl键似乎离开箱子的图像。一个可能要改变的另一件事是,设置第二轴为[]的XTICK和YTick:

组(A2, 'XTICK',[], 'YTick',[]);

此外,出色的工作!

qooroo

伟大的应用程序,但它会删除一组数据时,我用它来看看plotyy图。一个点的考虑?

-qooroo

我也喜欢它,但是当x轴是基于对数的时候,它似乎不太好用。这几乎是我所使用的全部(频率通常是这样绘制的)。我看了代码,但不确定需要多长时间,使我的mod…

优秀的,奇妙的功能

阿卡什B

整洁的! !谢谢!

利萨

利萨

这是真正真棒。
我不确定我是否做错了,ctrl+click使该框停留在图。,我如何删除它,如果想要绘制另一个图在同一轴上。

马丁

这看起来是非常有用的,有人看到在MATLAB R2007a的后续版本有任何问题?变焦区域不位于该地块所以不能看到...

精湛等

吉姆·法伦

优异的指令,用于处理鼠标按钮的运动和在GUI使用“的UserData”。除了学习,它救小时我自己的GUI的开发。

谢谢。
j·法伦

萨米的Murad

好它是真正的帮助

尹浩远

非常好!

迪内希Appya

优秀的

戈登·迪克斯

非常有用的代码。做得好!

Yvgeny Shvarzman

如果有人能告诉我,如果我可以使用此代码过于放大其它程序(examle功率点的详细信息)?
谢谢

小工具小工具

Meche新星

我已经通过单位设置为“归一化”解决了这个问题。正常工作与一个图形用户界面中的几个轴。题:
如何删除一个剩余的窗口,如果你
偶尔按一下鼠标右键?

达芙妮W

这是一个极好的工具!谢谢!
对于那些谁需要它与图像的工作只是注释掉与线宽线:
%集(GET(A2, '儿童'),...
% '线宽',2);
这就解决了问题。

我现在想弄清楚的是,如何使它在具有多个轴的gui中工作。似乎把放大的图像边缘的图形用户界面的原因。什么好主意吗?

李杰Fingersh

很不错的应用,谢谢!我修改了控制略有下降。现在,方向键控制放大率中的每个轴独立地同时控制括号两者一起和+/-键控制窗口大小。

Shanrong张

伟大的工作!MATLAB应该将其添加在他们的身影面板标准图标...

一个小注释:如果你可以加一句“人物(F1);”“;结束;如果(nargin == 0),F1 = GCF” 第一句之后,它应该是更方便。通过这样做,由用户或当前选择的数字将自动弹出被“放大”。

谢谢分享!!

布雷特Shoelson

我赞同次郎的建议,以及该组一致认为,这是一个非常不错的功能!

二郎Doke

非常好!一个评论:

如果你可以把支票设置线宽前,万一有不具备该属性的对象(例如图像,照明等)。我可以用它来放大图像文件。

马塞洛·西利

很好!

约翰D 'Errico

从1到5级,我会在6把这个。

玉萍Svidenko

哇!太好了!

克里斯蒂娜·赫伯特

很酷

Tsakani Lotten

辉煌!

康东一

你让我真正需要的..谢谢

詹姆斯·古德温

非常非常好!

法赫德马哈茂德

奇妙的功能的确!恭喜!

亚历克斯Podgaetsky

太好了! ! !

更新

1.0.0.0

BSD许可

MATLAB版本兼容性
创建R14SP1
与任何版本兼容
平台的兼容性
视窗 macOS Linux