Doubt with plot legend

3 views (last 30 days)
Vicente
Vicente on 7 Apr 2015
Commented: Image Analyst on 9 Apr 2015
I want to plot a graph consisting of ten different sets of data of the same entity, measured in 10 different initial conditions. I have all the data I need, and I am able to plot the graphs and select color and line styles as I want, but when I try to include a legend in the plot, it gets a bit tricky. The goal is to be able to have a dynamic legend, that automatically includes all the ammount of curves I want to plot, in case these should change number over time.
For the time being, I'm plotting 10 curves, so saying legend(1,2,3,4,5,6,7,8,9,10) is simple. But what if I want MATLAB to recognize the number of plots I want to make, identify each of the different names, and then legend the curves accordingly? What do I need to know in order to do that?
Thank you.

Accepted Answer

Image Analyst
Image Analyst on 7 Apr 2015
Use a cell array to make up a custom list of strings you want displayed in the legend. I don't know what you want each one to be but you might be able to use sprintf().
  8 Comments
Vicente
Vicente on 9 Apr 2015
The reason why I used %f as it was in your code, is because I really don't have a clue what does this designation do. What is %f, %7.3f, %11.3g? How are they supposed to be used? I tried typing "help %f" on command window, but as it's not a command, it didn't show any results.
Image Analyst
Image Analyst on 9 Apr 2015
Look up sprintf() in the help
MATLAB -> Language Fundamentals -> Data Types -> Characters and Strings -> Create and Concatenate Strings -> sprintf
There is a discussion of them there.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!