Why is not the second tag in the legend?

2 views (last 30 days)
Dear all,
I have been attempting to set the two legends at the boxplot, but there might be something wrong in my code since the second tag "mean" does not appear on the final plot, do you mind cheking this out?
figure
boxplot([SOC_, SOC_Max, SOC_mean], 'Labels',{'SOC','SOC(Max)','SOC(mean)'})
hold on
meanSOCs=mean([SOC_, SOC_Max, SOC_mean]);
plot(meanSOCs,'-o')
ylabel('State of charge (%)')
grid on
hold off
legend(["Data", "mean"])
Best regards

Accepted Answer

Voss
Voss on 4 May 2022
Store the line handles returned from boxplot and plot and use them to explicitly tell legend which lines to use:
SOC_ = randn(10,1);
SOC_Max = randn(10,1);
SOC_mean = randn(10,1);
figure
h_bp = boxplot([SOC_, SOC_Max, SOC_mean], 'Labels',{'SOC','SOC(Max)','SOC(mean)'});
hold on
meanSOCs=mean([SOC_, SOC_Max, SOC_mean]);
h_m = plot(meanSOCs,'-o');
ylabel('State of charge (%)')
grid on
hold off
legend([h_bp(5,1) h_m],["Data", "mean"]) % using a blue box line h_bp(5,1)

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!