Changing length of bar in legend
14 次查看(过去 30 天)
显示 更早的评论
Here is discussed how to change the length of the bar in Legend axes, when a bar graph is plotted.
But how do you apply the code discussed there to a bar graphs with multiple bars per x tick?
For example on,
bar([1,2;3,4])
legend('one','two')
Thanks!
0 个评论
采纳的回答
Kelly Kearney
2014-10-27
bar([1,2;3,4]);
legendflex(gca, {'one','two'}, 'xscale', 0.5)
3 个评论
Kelly Kearney
2014-10-27
Two options... either rename legendflex_pre2014b.m to legendflex.m (and don't download my more recent version of legendflex.m).
Or just add all 3 functions to your path, then call legendflex... it will fall back on the pre2014b version automatically if it determines that you're running an older version of Matlab. This latter method is the one I intended, since that way everything will still work properly if you ever upgrade Matlab to a version with the new handle graphics.
更多回答(2 个)
Azzi Abdelmalek
2014-10-24
You can change the position
bar([1,2;3,4])
h=legend('one','two')
pos=get(h,'position')
new_pos=pos
new_pos(3)=pos(3)+0.4 % This is the x length
new_pos(1)=pos(1)-0.4 % The x position
set(h,'position',new_pos)
Robert Cumming
2014-10-27
You can change the fontSize property which makes it smaller.
Otherwise if your using pre 2014b you can get to all the properties through the legend handle. Since the legend is built on a axes you can alter the axes children
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Legend 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!