Nzb*_*buu 12
从linkaxes,你想要的代码是:
ax = findobj(gcf,'type','axes','-not','Tag','legend','-not','Tag','Colorbar');
Run Code Online (Sandbox Code Playgroud)
这将返回当前图中所有数据轴的句柄.
1)默认情况下Tag,图例的属性为"图例".当然,没有承诺不改变它.
get(l)
....
BusyAction: 'queue'
HandleVisibility: 'on'
HitTest: 'on'
Interruptible: 'off'
Selected: 'off'
SelectionHighlight: 'on'
**Tag: 'legend'**
Type: 'axes'
UIContextMenu: 200.0018
UserData: [1x1 struct]
....
Run Code Online (Sandbox Code Playgroud)
2)另一个区别(更强大)是常规轴没有String属性,但是传说有.我不确定是否还有其他类型的对象也具有String属性.例如:
plot(magic(3));legend('a','v','b');
allAxesInFigure = findall(f,'type','axes')
b = isprop(allAxesInFigure,'String')
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式验证它:
get(gca,'String')
??? 使用==> get时出错
'axes'类中没有'String'属性.
但在另一方面,对于传说有是这样的属性.这就是它更强大的原因.
plot(magic(3)); l = legend('a','b','c');
get(l,'String')
Run Code Online (Sandbox Code Playgroud)
ans ='a''b''c'
3)我建议在更广泛的背景下解决这个问题.只需通过存储手柄即可跟踪您创建的图例和轴.也就是说,而不是编码如下:
plot(magic(3));
legend('a','v','b');
plot(magic(5));
legend('a','v','b','c','d');
Run Code Online (Sandbox Code Playgroud)
像这样的代码:
p(1) = plot(magic(3));
l(1) = legend('a','v','b');
p(2) = plot(magic(5));
l(2) = legend('a','v','b','c','d');
Run Code Online (Sandbox Code Playgroud)