How do I make the legend color rectangles smaller?
조회 수: 10 (최근 30일)
이전 댓글 표시
In barplots legends I find too wide the boxes that show each color. I want they to be more like squares so I can have a narrower legend and save space. Is there any way to do it?
댓글 수: 0
답변 (1개)
Girijashankar Sahoo
2021년 5월 20일
legend({'A','B'},'Position',[0.2 0.6 0.1 0.2])
%% four-element vector of the form [left bottom width height]
댓글 수: 4
Bill Tubbs
2023년 3월 22일
편집: Bill Tubbs
2023년 3월 22일
This doesn't seem to have an effect on the size of the coloured boxes. For example, if I set my legend position to [0.15 0.68 0.0 0.21]` the rectangle size does not go lower than it's minimum which is about 0.2 inches.
The width of these colour boxes seems a bit excessive. Especially when for some publications the whole figure has to be less than 3".
Miguel Ángel Palomo
2024년 3월 10일
After playing with the objects in a graph, I`ve found a way to change the size and shape of the boxes that show each color. I`ve found that each of the color boxes is a patch in the icons of the legend, and you can work from there.
[h,icons] = legend([A,B],{'F_mean','F_max'});
legend('boxoff') %This is optional
boxes=findobj(icons,'type','patch');
box1=boxes(1);
box1.XData=[0.4;0.4;0.6;0.6];
%The values here work for my case, but you may have to change them
box1.LineWidth=1;
box2=boxes(2);
box2.XData=[0.4;0.4;0.6;0.6];
box2.LineWidth=1;
%You may also change YData, but it is not necessary to make them square-like.
After this, the boxes look like this:
참고 항목
카테고리
Help Center 및 File Exchange에서 Legend에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!