Calling objects in legend changes marker size

3 visualizaciones (últimos 30 días)
William Davis
William Davis el 2 de Dic. de 2019
Respondida: Walter Roberson el 5 de Dic. de 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.

Respuestas (2)

Dhananjay Kumar
Dhananjay Kumar el 5 de Dic. de 2019
This appears to be a bug.
I work at MathWorks and have forwarded this feedback to the relevant team.

Walter Roberson
Walter Roberson el 5 de Dic. de 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.

Categorías

Más información sobre Legend en Help Center y File Exchange.

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by