# Plotting many plots on same figure with unique colors

26 views (last 30 days)
abc on 2 Mar 2014
Hi,
I am adding plots to a figure in my for loop as given below. I used 'Color' setting to define the colors. However there are only 7 options as per the ColorSpec given in MATLAB help. I may need to plot hundreds of plots in the same graph. How can I generate those many unique colors and then ask MATLAB to plot different lines in those colors?
colorstring = 'kbgrymckbg';
for buscnt=1:Nbus-1
for bw_combination=1:Ncomb
if bw_combination==1
figure();
end
plot(x_plot,y_plot, 'Color', colorstring(bw_combination));
hold on
end
end

abc on 2 Mar 2014
##### 2 CommentsShow NoneHide None
Lars Abrahamsson on 2 Sep 2020
At least the former one needs a toolbox unfortunately ...
Lars Abrahamsson on 2 Sep 2020
The latter one works fine - thanks!

### More Answers (2)

Image Analyst on 2 Mar 2014
You can simply use any 3 element array of numbers between 0 and 1 to define whatever color you want. They don't have to be any of the specially named colors that use specific letters, for example
plot(x,y,'Color', [2., 3., .7]); % Use whatever numbers you want.
##### 2 CommentsShow NoneHide None
abc on 2 Mar 2014
Thank you for your answer. The problem is that I need to do this within a loop and may need to plot hundreds of plots on the same figure. This may get a bit tedious. The two files posted earlier completely suit the purpose.
Lars Abrahamsson on 2 Sep 2020
Moreover, it is important to avoid for example yellow, that is far too bright for white background.

Saeed Bello on 25 May 2017
The link below gives a function to solve this problem:
https://www.mathworks.com/matlabcentral/fileexchange/42673-beautiful-and-distinguishable-line-colors-+-colormap

### Categories

Find more on Graphics Performance 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!