如何获得MATLAB中所有开放graphics的句柄
我在matlab中有九个打开的数字(由另一个函数生成),我想将它们全部打印到文件中。 有谁知道如何抓住MATLAB中所有开放graphics的句柄?
我知道gcf
但似乎没有做我想要的。
有几种方法可以做到这一点。 一种方法是获取根对象的所有子元素 (在以前版本中由句柄0
):
figHandles = get(groot, 'Children'); % Since version R2014b figHandles = get(0, 'Children'); % Earlier versions
或者你可以使用函数findobj
:
figHandles = findobj('Type', 'figure');
如果任何数字都有隐藏的句柄 ,则可以使用函数findall
:
figHandles = findall(groot, 'Type', 'figure'); % Since version R2014b figHandles = findall(0, 'Type', 'figure'); % Earlier versions
要做的最好的事情之一是不需要查找手柄。 当你创build每个graphics,抓住它的句柄。
h(1) = figure; h(2) = figure; ...
正如其中一位开发人员告诉我的:
他们被称为句柄,因为你应该坚持他们
我认为findall应该工作
handles=findall(0,'type','figure')
你已经得到很好的答复质量手柄。 但是对于原始问题的另一个提示 – 打印所有的数字:您可以使用publish
选项,而不处理figrues或句柄。