Why is not the second tag in the legend?

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

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

Asked:

on 4 May 2022

Commented:

on 5 May 2022

Community Treasure Hunt

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

Start Hunting!