For a known number of plots on the same axis, how do I set the colourscale?
2 views (last 30 days)
Show older comments
I'm trying to plot my 20 results with a span of rainbow colours and was wondering how you could go about doing this using matlab? Thanks!
0 Comments
Accepted Answer
Voss
on 5 Mar 2024
data = (1:100).'+(1:20);
n_lines = size(data,2);
colors = jet(n_lines);
figure
colororder(colors);
plot(data)
4 Comments
Voss
on 9 Mar 2024
If the colors are repeating, to prevent that from happening, use (at least) as many colors as you have lines.
- If the number of lines is known in advance of plotting, construct the colormap with that many lines, as shown in my previous comment where I used a jet colormap with 8 colors to color 8 lines.
- If the number of lines is not known in advance or changes as the code runs, you'll have to update the set of colors and apply that to colororder.
However, are you sure the colors are repeating? From the screen shot, I cannot say for sure that's what's happening. It may just be that the line color order is not the same as the line order in the y-direction on the plot. For example, if the first line you plot is of the first color in the colormap and is the bottommost (lowest y) line on the plot, the second line is of the second color and is the second-lowest line, and so on, then yes, it looks like the lines are out of order with what might be a typical colormap. But I don't know that the lines are in that order in terms of the y on the plot, and I don't know what the colormap is.
If you are already using (at least) as many colors as lines, or changing that doesn't fix the problem, please share some code I can run to take a look.
More Answers (0)
See Also
Categories
Find more on Orange 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!