有没有办法通过命令执行MATLAB图窗口菜单项?

时间:2016-08-09 12:23:13

标签: matlab matlab-figure

我找到了一些用于通过回调设置绘图工具的代码:

draw.m

修改

道歉 - 我没有意识到Name属性是红色鲱鱼 - annotation调用可以绘制各种数字。
所以我更正的问题是:有没有办法执行其他菜单项命令,例如set(gcf,'Some_property','Rotate 3D')

1 个答案:

答案 0 :(得分:4)

执行菜单项命令的最简单方法是获取菜单项的句柄,然后检查Callback属性以查看它内部调用的内容。

rotate_menu = findall(gcf, 'type', 'uimenu', 'tag', 'figMenuRotate3D');
rotate_menu.Callback

%   'toolsmenufcn Rotate'

正如您所看到的,它使用了一个内部函数toolsmenufcn,我们可以直接调用它来激活该工具。

toolsmenufcn(gcf, 'Rotate')

如果您实际查看toolsmenufcn.medit toolsmenufcn)的内容,您将看到所有可用命令的列表。

直接使用toolsmenufcn当然没有文档,因此使用风险由您自行承担。另一方面,动态检索和执行菜单的Callback应适用于各个版本。