error message in legend

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.

 Risposta accettata

Star Strider
Star Strider il 5 Apr 2018
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 Commenti

alpedhuez
alpedhuez il 5 Apr 2018
Thank you.
Star Strider
Star Strider il 5 Apr 2018
As always, my pleasure.

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 5 Apr 2018

0 voti

You pass in three handles but six legend strings.

Prodotti

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by