I tried to have a following legend in a plot
legend([Plot1, Plot2, Plot3],'6 bidders (Mean ' + string(mean(OutputSpacing(:,1))) + ', Std: ' + string(std(OutputSpacing(:,1))) +')','12 bidders (Mean ' + string(mean(OutputSpacing(:,2))) + ', Std: ' + string(std(OutputSpacing(:,2))) +')','24 bidders (Mean ' + string(OutputSpacing(:,3)) + ', Std: ' + string(std(OutputSpacing(:,3))) +')')
Then I got a following message
Warning: Ignoring extra legend entries.
> In legend>set_children_and_strings (line 674)
In legend>make_legend (line 346)
In legend (line 294)
In test (line 1001)
Please advise.

 Réponse acceptée

Star Strider
Star Strider le 5 Avr 2018

0 votes

One possible solution:
OutputSpacing = rand(3);
figure
plot(1:3, OutputSpacing, 'p')
lgndcell = regexp(sprintf('%2d Bidders (Mean: %.2f, Std: %.2f)\n', [[6 12 24]; mean(OutputSpacing); std(OutputSpacing)]), '\n', 'split');
legend(lgndcell(1:end-1))
You will probably need to tweak it to work with your data and plots. (It works with this code.)

2 commentaires

alpedhuez
alpedhuez le 5 Avr 2018
Thank you.
Star Strider
Star Strider le 5 Avr 2018
As always, my pleasure.

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 5 Avr 2018

0 votes

You pass in three handles but six legend strings.

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by