编者按:该文件是一个文件交换器周中精选
曾经希望MATLAB有一个放大镜,所以你可以看看你的地块的小区域的细节,而无需进行放大和缩小连连?只要运行与兴趣,目前的数字人物“magnify.m”,然后用鼠标左键,弹出一个放大的教职员,你控制。或者使用“Ctrl”键的同时单击(复印和打印数据时使用),弹出一个放大镜是“锁定”在图中释放。使用“<”和“>”键进行放大镜更小或更大。使用“ - ”和“+”来增加或减少的放大级别。
里克·辛德曼(2020年)。放大(//www.tianjin-qmedu.com/matlabcentral/fileexchange/5961-magnify),MATLAB中央文件交换。检索。
1.0.0.0 | BSD许可证 |
克里斯(查看资料)
增加了一个简单的修改,以允许独立的x / y的放大倍率。调整上线31的A2用户数据的设定有三个字段[2 2 0.2],调整线64调用a2_param(3)不(2)的位置组,集合线67调用a2_param(2)第(1),再加入两个额外的elseifs复制线75-78修改与您所选择的按钮a2_param(2)(我去[和])。更为有用的不仅仅是单一的变焦。
完李(查看资料)
很不错的工具。这是非常有帮助的。谢谢 !
赫勒林(查看资料)
陈旸(查看资料)
宗庆后晶晶(查看资料)
万柯蒂斯(查看资料)
非常感谢。确实有用。
毫米(查看资料)
庸(查看资料)
西苑妞妞(查看资料)
非常有帮助,非常感谢你!
永阳(查看资料)
您好,当我把这个功能到库的MATLAB2018版本,我得到一个错误:计算图WindowButtonMotionFcn。但是,它适用于低版本的软件。
dgreoiv clihest(查看资料)
两难的境地(查看资料)
王霍华德(查看资料)
这是非常有帮助!
艾伦(查看资料)
伟大的功能。但是,我想在不关闭图形的情况下停止执行函数,但是没有找到一个干净的方法。
我有另一个问题,试图删除/删除放大框,通过右键单击或按住Ctrl,但可以通过替换第34-37行:
集(a2,“标签”,“MagBox”,“用户数据”,[2,0.2],“颜色”,得到(a1,“颜色”),“盒子”,“上”);放大倍数,帧大小
然后在第92行之后添加以下代码:
ELSEIF的strcmp(eventdata.Key, '退格')||STRCMP(eventdata.Key, '删除')
删除(findobj(src.Children, '类型', '轴', '标签', 'MAGBOX'))
这将在添加的轴上添加一个标签,使其更容易识别,然后删除所有放大轴时,“删除”或“退格”被按下。
徐勇(查看资料)
海林杜(查看资料)
伟大的工作!谢谢!
约翰尼·黄(查看资料)
xj z(查看资料)
易卜拉欣Bagci(查看资料)
citysky(查看资料)
陈的菜肴(查看资料)
xiaojiang王(查看资料)
如何移动锁定的放大镜?
本本(查看资料)
超好的 !谢谢!
王国维姚明(查看资料)
谢谢
孙大卫(查看资料)
太好了!谢谢~
杨宜勇太阳(查看资料)
梓利(查看资料)
谢谢
应张(查看资料)
太好了,谢谢!
春阳李(查看资料)
谢谢!
强肖(查看资料)
伟大的
Mojgan Rostaminia(查看资料)
xiaping(查看资料)
非常感谢你!
mms3airei(查看资料)
插口(查看资料)
这确实帮了我大忙。
仁禅师(查看资料)
谢谢 !!!
它帮助了我很多,我做我的代码一点点的变化,如果你不介意。
谢谢 !
胖的猫(查看资料)
谢谢
李余(查看资料)
哈瑞先生Kankanala(查看资料)
尼古拉·诺伊曼(查看资料)
amrkzp(查看资料)
呵呵(查看资料)
很好的~
pengxin汉(查看资料)
非常有帮助
马康(查看资料)
伟大的工作!它帮了我很多,我在代码中做了一点小小的改动。
F1 =图。
情节(1:10 0,randn(1100),(施用)/ 3,兰特(1300)),网格,
MAGNIFY(F1)
%您必须在运行下一个代码之前完成图中的放大。假设我们只放大一次。
d = GET(F1,子女');
d (1)。将放大后的图形移动到指定位置
轴= 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
卡尔Witthoft(查看资料)
应取代“fullcrosshair”与“十字线”,因为前者是R2015不支持的,后来(也可能在R2014)万博1manbetx
鹏利周(查看资料)
这是非常有帮助!良好的工作!在MATLAB现在更强大
费尔南多·斯特维斯(查看资料)
约瑟夫(查看资料)
迈克尔(查看资料)
它似乎没有工作的时候这个数字样式停靠 - 任何想法为什么不呢?
若要重现行为,尽量不工作的情况如下:
集(0, 'DefaultFigureWindowStyle', '对接');
图;图(1:100,randn(1100),1:300)/ 3,兰特(1300))
网格; MAGNIFY
但是,如果你回去集(0,“DefaultFigureWindowStyle”,“正常”);然后它工作得很好。
凤鸣(查看资料)
非常感谢你!
东(查看资料)
谢啦!这是非常辉煌!
阿姆鲁·哈姆扎(查看资料)
真棒!
阿里(查看资料)
这是非常有用的我的论文,谢谢。做得好!
肖恩·阿彻(查看资料)
完善!!!!
Xiangchun(查看资料)
不错的工作。
如何从目前的数字取下它,无需关闭它?
谢谢!
马丁·福克斯(查看资料)
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。^ (log10 (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)
+集(line_obj, '线宽',2);
+端
叶夫根尼·镨(查看资料)
很不错的功能!但是有一个小问题。通过与功能的图像操作有一个错误:
>> imshow(IM,[]);
>>放大;
???使用==>设置时出错
有没有“线宽”中的“图像”类属性。
错误在==>放大>ButtonDownCallback在39
集(GET(A2, '儿童'),...
因此后的误差函数继续正常工作在鼠标移动。
我认为有必要检查坐标轴上的物体是否为图像并消除直线属性的变化。
pangyuteng(查看资料)
检测出(查看资料)
很棒的工作。我想这需要另一个版本采取的一些显露出来,在Matlab中的较新版本的bug的照顾。
我用imshow(此功能),它给了我一个错误:
有没有“线宽”中的“图像”类属性。
错误在==>放大>ButtonDownCallback在39
集(GET(A2, '儿童'),...
当然,我可以通过删除这行代码轻松解决这个问题。而且,Ctrl键似乎离开了图像上的方框。另一个需要改变的是将第二个轴的XTick和YTick设置为[]:
set(a2, 'XTick', [], 'YTick', []);
此外,出色的工作!
qooroo(查看资料)
这是一个很棒的应用程序,但是当我用它查看plotyy图表时,它会删除一组数据。有什么值得考虑的吗?
-qooroo
托德Welti(查看资料)
我也喜欢它,但似乎并没有很好的工作时,X轴是基于日志。这是几乎所有我的使用(频率通常绘制这种方式)。我看了看代码,但不知道要多长时间带我去作出这样的MOD .....
穆罕默德Elmorsy(查看资料)
优秀的,奇妙的功能
阿克沙伊乙(查看资料)
整齐!!非常感谢!
利萨(查看资料)
利萨(查看资料)
佛法(查看资料)
这真是太棒了。
我不知道如果我做错了,Ctrl +单击使框住上图,我怎样可以删除它,如果想绘制在同一轴上另一个数字。
马丁(查看资料)
这看起来是非常有用的,有人看到在MATLAB R2007a的后续版本有任何问题?变焦区域不位于该地块所以不能看到...
扎马Aldahiyat(查看资料)
极好的,等等。
优异的指令,用于处理鼠标按钮的运动和在GUI使用“的UserData”。除了学习,它救小时我自己的GUI的开发。
谢谢。
法伦
很好,真的很有帮助
非常好!
优秀的
非常有用的代码。伟大的工作!
如果有人能告诉我,我是否可以用这个代码放大其他程序(例如powerpoint细节)?
谢谢
我通过设置“标准化”单元解决了这个问题。在一个gui中使用多个轴可以很好地工作。问题:
如何删除,如果你吃剩的窗口
偶尔打鼠标右键?
这是一个极好的工具!谢谢!
对于那些需要它的工作与图像,只需注释出线宽度:
%设置((a2,‘孩子’),…
%“线宽”,2);
这解决了这个问题。
我试图现在弄清楚,是如何使一个GUI内部进行多个轴。似乎把放大的图像在GUI出于某种原因的边缘。有任何想法吗?
很不错的应用,谢谢!我修改了控制略有下降。现在,方向键控制放大率中的每个轴独立地同时控制括号两者一起和+/-键控制窗口大小。
伟大的工作!MATLAB应该将其添加在他们的身影面板标准图标...
一个小注释:如果你可以加一句“人物(F1);”“;结束;如果(nargin == 0),F1 = GCF” 第一句之后,它应该是更方便。通过这样做,由用户或当前选择的数字将自动弹出被“放大”。
感谢分享 !!!
我赞同次郎的建议,以及该组一致认为,这是一个非常不错的功能!
非常好!一个评论:
如果你可以在你设置线宽之前做一个检查,以防有些对象没有这个属性(例如图像,照明等)。我可以用这个来放大图像文件。
很好!
在1到5的范围内,我把这个设为6。
哇!优秀的!
非常酷的
辉煌!
你做了我真正需要的谢谢你!
非常非常棒!
奇妙的功能的确!恭喜!
优秀的!!!