Calling objects in legend changes marker size

I am using the errorbar function to plot some data, and I wish to create a legend and have access to the icons object it uses. When I use the legend function and do not call the icons object as an output, the legend plots corrently (see below).
figure
errorbar(1:5,5:-1:1,0.5:0.1:0.9,'k.','MarkerSize',100,'LineWidth',4,'CapSize',15)
legend({'Data'},'FontSize',20)
However, when I do specify outputs of the legend function, the legend does not create an icon similar to the first example.
figure
errorbar(1:5,5:-1:1,0.5:0.1:0.9,'k.','MarkerSize',100,'LineWidth',4,'CapSize',15)
[lgd, icons, plots, txt] = legend({'Data'},'FontSize',20);
How can I call the legend objects whilst keeping the icon the correct size and shape?
This question here had a similar problem, but no answer was given. This is in MATLAB version 2018a.

답변 (2개)

Dhananjay Kumar
Dhananjay Kumar 2019년 12월 5일

1 개 추천

This appears to be a bug.
I work at MathWorks and have forwarded this feedback to the relevant team.
Walter Roberson
Walter Roberson 2019년 12월 5일

0 개 추천

You will never be able to do this. When you ask for the second output of legend you invoke a backwards compatibility mode that creates legends a different way. Because the people who use this need legends to work the same way as before HG2 in R2014b, the mode has to be bug-for-bug compatible.
You will need to modify the objects that you get in the second output.

카테고리

제품

릴리스

R2018a

질문:

2019년 12월 2일

답변:

2019년 12월 5일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by