我想在Matlab图中的图例上放置一个箭头,但是当我添加箭头时,图例默认为“在顶部”(参见图片,图例中的黑线)。
有没有办法将子图(例如箭头)推到“顶部”,使其出现在图的所有其他组件上,包括图例?我尝试使用uistack
它,但似乎不适用于图例。uistack
正如文档所说,“应该重新排列UI组件的可视堆栈”。
编辑:
非常简单的示例:我绘制的线条应出现在图例的顶部。
figure;
b = bar(1:3,rand(3));
hold on;
p = plot([0,3],[0,.5],'Color','k','linewidth',1.5); % my arrow
l = legend(b,'value','Location','SouthWest','AutoUpdate','off');
uistack(l,'bottom');
您可以copyobj
当前的图形轴gca
并将其Color
属性设置为none
。此方法将在图例的补丁和相关文本上画线。
说明:Copyobj
将复制并显示所有axes
与bar
和相关line
的图例,但不显示图例(传奇有axes
自己的名字)。复制的显示内容axes
将与原始显示内容完全重叠。并且'Color','none'
使复制的白色背景axes
透明,从而使legend
再次但是可见可见下了线。
这是代码
f = figure;
b = bar(1:3,rand(3));
hold on;
p = plot([0,3],[0,.5],'Color','k','linewidth',1.5); % my arrow
l = legend(b, 'Location','SouthWest');
% add some magic
hax = copyobj(gca, f); % copy the current axes to the figure
set(hax, 'Color', 'none') % set the new axes's background transparent
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句