Change legend width after reisze of legend line length
4 次查看(过去 30 天)
显示 更早的评论
Hello Matlab community,
I'm struggeling with formatting of a legend in a Matlab Plot. As the line of the legend is rather long in default I changed it with the help of icon objects.
l=legend('P','Location','southeast','Orientation','vertical');
icons(1).Position = [0.1 p1(2) 0.01 ];
icons(1).Units='normalized'
icons(2).XData = [0.05 0.01];
This works and the legend line length gets sized. The following problem is that the width of the legend remains constant and does not resize. I tried to manipulate the position object of the legend but the width seems to have an internal lower limit.
set(l,'Unit','normalized','Position',[0.0,0.0,0.01,0.2]);
I can increase the size but not decrease. I tried reverse engineering via Matlab Plot Browser and here the same problem occurs. When I try to decrease the width the box moves to the left and has same size.
This is what it looks like (the legend is flushed with another script, but disabling this one leads to the same problem):
I would appreciate some hints where to further search in order to resize the legend size.
Thanks in advance Simon
0 个评论
回答(1 个)
David J. Mack
2017-10-6
Hey Simon,
this is an issue which pops up regularly, since the customization options of legends are currentyl (when I last checked) not layed out to change the size. Out of frustration I wrote a small helper function once to change the size of the legend ( resizeLegend ). Maybe this helps. Greetings, David
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!