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 2-D and 3-D Plots 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!
