Plot with mean and std of variables

3 views (last 30 days)
alpedhuez
alpedhuez on 12 Jun 2018
Edited: Rik on 12 Jun 2018
I have a basic plot as follows. How can I display mean and std of X, Y, and Z in the legend?
Plot1=plot(T,X)
hold on
Plot2=plot(T,Y)
hold on
Plot3=plot(T,Z)
legend([Plot1, Plot2, Plot3], 'X','Y','Z')

Accepted Answer

Rik
Rik on 12 Jun 2018
Edited: Rik on 12 Jun 2018
Just use sprintf and the mean and std functions:
Plot1=plot(T,X);
hold on
Plot2=plot(T,Y);
Plot3=plot(T,Z);
legend([Plot1, Plot2, Plot3],...
sprintf('X (mean=%.1f,std=%.1f)',mean(X,'omitnan'),std(X,'omitnan')),...
sprintf('Y (mean=%.1f,std=%.1f)',mean(Y,'omitnan'),std(Y,'omitnan')),...
sprintf('Z (mean=%.1f,std=%.1f)',mean(Z,'omitnan'),std(Z,'omitnan')))
  3 Comments
Adam
Adam on 12 Jun 2018
Edited: Adam on 12 Jun 2018
That's a problem of your data, not the code to put the results in the legend. Try using nanmean and nanstd or use the 'omitnan' flag.
alpedhuez
alpedhuez on 12 Jun 2018
Edited: alpedhuez on 12 Jun 2018
Thank you.

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!