It will be hard to come up with 20 clearly distinguishable colors. Check
out the website http://colorbrewer2.org/ and the R package RColorBrewer.
It does not have a 20-color palette, but it does have some 8- to 12-color
palettes that are very nice.
library(RColorBrewer)
display.brewer.all(n=NULL, type="all", select=NULL, exact.n=TRUE)
You could use these colors in combination with line type to build up to 72
unique combinations. For example ...
nuniq <- ncol(mat)
mycols <- rep(brewer.pal(12, "Set3"), length=nuniq)
myltys <- rep(1:6, rep(12, 6))[1:nuniq]
for(k in 1:nuniq){
plot(density(mat[,k]), col=mycols[k], xlab='', ylab='', axes=F,
main=F,
lwd=3, lty=myltys[k])
par(new=TRUE)
}
legend('topright', legend=snames, col=mycols, lty=myltys, lwd=3)
Jean
On Mon, Jun 10, 2013 at 12:33 PM, Brian Smith
<bsmith030465@gmail.com>wrote:
> Hi,
>
> I was trying to make a density plot with 13 samples. To distinguish each
> sample, it would be good if each color is as different as possible from the
> other colors. I could use the built in function, but that does not do more
> than 8 colors and then goes back to recycling the cols. If I use a palette,
> then it is really difficult to distinguish between the colors.
>
> So, is there a way that I can select a large number of colors (i.e. perhaps
> 20) that are as different from each other as possible?
>
> Here is my example code using the palette:
>
> **********************
> mat <- matrix(sample(1:1000,1000,replace=T),nrow=20,ncol=20)
> snames <- paste('Sample_',1:ncol(mat),sep='')
> colnames(mat) <- snames
>
> mycols <- palette(rainbow(ncol(mat)))
>
> for(k in 1:ncol(mat)){
>
plot(density(mat[,k]),col=mycols[k],xlab='',ylab='',axes=F,main=F)
> par(new=T)
> }
>
> legend(x='topright',legend=snames,fill=mycols)
>
> ****************************
>
> thanks!
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
[[alternative HTML version deleted]]