MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   Matlab:如何获取图形手柄中的所有轴手柄? (https://www.labfans.com/bbs/showthread.php?t=23996)

poster 2019-12-10 20:48

Matlab:如何获取图形手柄中的所有轴手柄?
 
如何获得图形手柄中的所有轴手柄?

给定图形句柄hf ,我发现get(hf, 'children')可能返回所有轴的句柄。但是,《 Matlab帮助》建议它返回的不仅仅是轴柄:
[INDENT] [I]人物的身影[/I] 。一个包含所有轴的手柄的矢量,图中显示了用户界面对象。您可以更改手柄的顺序,从而更改对象在显示器上的堆叠。

[/INDENT]有什么方法可以只获得图形手柄中的轴手柄吗?或者我怎么知道get(hf, 'children')返回的句柄是否是斧头句柄?

谢谢!



[B]回答:[/B]

使用[URL="http://www.mathworks.com/help/techdoc/ref/findall.html"]FINDALL[/URL] :

allAxesInFigure = findall(figureHandle,'type','axes'); 如果要在Matlab中的任何位置获取所有轴手柄,则可以执行以下操作:

allAxes = findall(0,'type','axes'); [B]编辑[/B]

要回答问题的第二部分:您可以通过获取handles type属性来测试手柄列表是否为轴:

isAxes = strcmp('axes',get(listOfHandles,'type')); isAxes对于类型axes每个句柄均适用。

[B]编辑2[/B]

只选择轴不在传说手柄,你需要清理轴(名单ax柄通过删除其标记是不是所有的句柄'legend'或'Colorbar' :

axNoLegendsOrColorbars= ax(~ismember(get(ax,'Tag'),{'legend','Colobar'}))

[url=https://stackoverflow.com/questions/3938348]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 01:11

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.