有没有办法通过命令执行 MATLAB Figure window 菜单项?

Is there a way to execute MATLAB Figure window menu items via command?

我找到了一段通过回调设置绘图工具的简洁代码:

draw.m .

编辑

抱歉 - 我没有意识到 Name 属性 是一个转移注意力的问题 - 是 annotation 调用可以绘制各种图形。
所以我更正的问题是:有没有办法执行其他菜单项命令,例如 set(gcf,'Some_property','Rotate 3D') ?

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

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

%   'toolsmenufcn Rotate'

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

toolsmenufcn(gcf, 'Rotate')

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

直接使用 toolsmenufcn 当然没有记录,因此使用风险自负。另一方面,动态检索和执行菜单的 Callback 应该跨版本工作。