Calling objects in legend changes marker size

1 vue (au cours des 30 derniers jours)
William Davis
William Davis le 2 Déc 2019
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.

Réponses (2)

Dhananjay Kumar
Dhananjay Kumar le 5 Déc 2019
This appears to be a bug.
I work at MathWorks and have forwarded this feedback to the relevant team.

Walter Roberson
Walter Roberson le 5 Déc 2019
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.

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by