我想通过Matlab GUIDE获取GUI中当前轴的标记。
以下代码返回一个空矩阵:
handle=gca;
get (handle,'tag')
答案 0 :(得分:0)
获得空矩阵的可能原因可能是因为GUI HandleVisibility
和/或figure
的属性axes
设置为'off`。
为了获得Tag
对象的axes
属性,以及GUI中任何其他对象的属性,HandleVisibility
属性必须为“on”。< / p>
一旦该属性为on
,有几个选项可以在GUI回调中获取Tag
个轴:
使用get
函数
% Get the current axes tag
get(gca,'tag')
使用dot notation
% Get the current axes with the "dot notation"
c_ax=gca
c_ax.Tag
如果您的GUI中有多个axes
,您可以使用findobj函数获取所有axes
个hanldes,然后,您可以使用{{1} }循环获取for
:
Tag
答案 1 :(得分:-1)
这是正常的,默认情况下,Tag没有值(它返回'')。如果你想要别的东西,你必须将它的值设置为......
P.S。而不是获取和设置,在matlab 2016中,您可以通过点访问gca属性。
编辑:
首先,您需要为每个子图像或子图设置一个标记:
for (range of subplots)
subplot(m,n, number) % m and n are constants
set(gca,'Tag',num2str(number));
end
这是代码的一个很好的答案: