How can I plot 18 lines in different colors on a single plot?
Show older comments
Hi everyone!
I have to plot 18 different functions of time, all in one single figure. How can i assign 18 different colors? (i work with matlab 2014)
Thanks.
Accepted Answer
More Answers (2)
Bjorn Gustavsson
on 10 Jan 2023
For that type of tasks I have had good use of the cmlines-function in the colormap-and-colorbar-utilities toolbox on the file exchange. With that it is as simple as:
ph = plot(randn(18,18));
colormap(turbo)
cmlines(ph(1:12))
colormap(copper)
cmlines(ph(13:18))
(unasked for advice: sometimes my plots become more legible if I also use linewith and linestyle to differentiate between lines)
HTH
the cyclist
on 10 Jan 2023
Edited: the cyclist
on 10 Jan 2023
0 votes
If your version of MATLAB is 2019b or later, I suggest the colororder function. (I see that you mention an older version, so this may be more for other folks who come across this question.)
And for that many colors, I would recommend using a utility like this one for defining maximally distinguishable colors (and/or using different plotting symbols and line styles.)
1 Comment
Bjorn Gustavsson
on 10 Jan 2023
Hopefully there are some more "natural" ordering and/or grouping of the function to plot, and then it might be way better to one distinct colormap per group of curves to guide the viewer.
Categories
Find more on Color and Styling in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
