如何设置自定义函数中定义的图形对象的可见性?

How to set visibility of graphic object defined within a custom function?

我对 matlab 还是很陌生,作为培训,我正在尝试编写一个简单的函数来绘制以指定位置为中心的坐标系。

到目前为止函数的相关部分如下所示(跳过坐标系中心的计算部分):

function [] = fancyAxis(x,y,z,lengthX,lengthY,lengthZ,vis)

if vis == 1
    vis = 'on';
else
    vis = 'off';
end


%X-Achse
h_xAchse = plot3([x x],[Y1 Y2], [z z],'linestyle','--','visible',vis);
%Y-Achse
h_yAchse=plot3([x x],[y y], [z Z2],'linestyle','--','visible',vis);

该功能运行良好。但现在我想控制我的功能的可见性。因此,当在不同的脚本中调用它时,我希望能够再次关闭可见性。所以我尝试通过更改 "vis" 常量来尝试它,但这根本不起作用:( 那么有人可以给我一个正确的提示吗?

感谢阅读:)

Return轴心和他们一起玩。将函数调用更改为

function [h_xAchse,h_yAchse] = fancyAxis(x,y,z,lengthX,lengthY,lengthZ,vis)

然后在你的主要代码中你可以这样做:

[~,h_yAchse] = fancyAxis(x,y,z,lengthX,lengthY,lengthZ,vis)
set(h_yAchse,'visible','off')

您需要句柄才能更改属性。