MATLAB Answers

Calling objects in legend changes marker size

13 views (last 30 days)
William Davis
William Davis on 2 Dec 2019
Answered: Walter Roberson on 5 Dec 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.

  0 Comments

Sign in to comment.

Answers (2)

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

  0 Comments

Sign in to comment.


Walter Roberson
Walter Roberson on 5 Dec 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.

  0 Comments

Sign in to comment.

Products


Release

R2018a