poster
2019-12-10, 20:48
如何获得图形手柄中的所有轴手柄?
给定图形句柄hf ,我发现get(hf, 'children')可能返回所有轴的句柄。但是,《 Matlab帮助》建议它返回的不仅仅是轴柄:
人物的身影 。一个包含所有轴的手柄的矢量,图中显示了用户界面对象。您可以更改手柄的顺序,从而更改对象在显示器上的堆叠。
有什么方法可以只获得图形手柄中的轴手柄吗?或者我怎么知道get(hf, 'children')返回的句柄是否是斧头句柄?
谢谢!
回答:
使用FINDALL (http://www.mathworks.com/help/techdoc/ref/findall.html) :
allAxesInFigure = findall(figureHandle,'type','axes'); 如果要在Matlab中的任何位置获取所有轴手柄,则可以执行以下操作:
allAxes = findall(0,'type','axes'); 编辑
要回答问题的第二部分:您可以通过获取handles type属性来测试手柄列表是否为轴:
isAxes = strcmp('axes',get(listOfHandles,'type')); isAxes对于类型axes每个句柄均适用。
编辑2
只选择轴不在传说手柄,你需要清理轴(名单ax柄通过删除其标记是不是所有的句柄'legend'或'Colorbar' :
axNoLegendsOrColorbars= ax(~ismember(get(ax,'Tag'),{'legend','Colobar'}))
更多&回答... (https://stackoverflow.com/questions/3938348)
给定图形句柄hf ,我发现get(hf, 'children')可能返回所有轴的句柄。但是,《 Matlab帮助》建议它返回的不仅仅是轴柄:
人物的身影 。一个包含所有轴的手柄的矢量,图中显示了用户界面对象。您可以更改手柄的顺序,从而更改对象在显示器上的堆叠。
有什么方法可以只获得图形手柄中的轴手柄吗?或者我怎么知道get(hf, 'children')返回的句柄是否是斧头句柄?
谢谢!
回答:
使用FINDALL (http://www.mathworks.com/help/techdoc/ref/findall.html) :
allAxesInFigure = findall(figureHandle,'type','axes'); 如果要在Matlab中的任何位置获取所有轴手柄,则可以执行以下操作:
allAxes = findall(0,'type','axes'); 编辑
要回答问题的第二部分:您可以通过获取handles type属性来测试手柄列表是否为轴:
isAxes = strcmp('axes',get(listOfHandles,'type')); isAxes对于类型axes每个句柄均适用。
编辑2
只选择轴不在传说手柄,你需要清理轴(名单ax柄通过删除其标记是不是所有的句柄'legend'或'Colorbar' :
axNoLegendsOrColorbars= ax(~ismember(get(ax,'Tag'),{'legend','Colobar'}))
更多&回答... (https://stackoverflow.com/questions/3938348)