Hi Federico

For a possible alternative, the scico package provides a nice
collection of color palettes that are designed to be both color-blind
friendly and differentiable:

https://www.data-imaginist.com/2018/scico-and-the-colour-conundrum/

You could generate a vector of 21 colors (spaced as far apart as
possible on the palette) to pass to your plot arguments with something
like:

library(scico)
scico(21, palette = 'oleron')

Not sure if this works for your case though. But maybe another feature
(shape?) could help differentiate the 21 points.

Hope this helps,
Zach Simpson

> Message: 11
> Date: Tue, 11 Sep 2018 07:34:51 +0000
> From: Federico Calboli <federico.calb...@kuleuven.be>
> To: "r-help@r-project.org" <r-help@r-project.org>
> Subject: [R] getting 21 very different colours
> Message-ID: <08a6397b-4d67-4195-a53a-1fd394f72...@kuleuven.be>
> Content-Type: text/plain; charset="utf-8"
>
> Hi All,
>
> I am plotting a scatterplot of 21 populations, and I am using 
> rainbow(21)[pops.col] to generate 21 colours for the plot (which works).  
> Maybe it is because I can really process few colours at a time, but the 
> differences between the colours are not as strong as I’d like.  I can specify 
> start and end for rainbow(), but if anything that looks worse if I do not 
> just stick to 0 and 1.
>
> Is there a way of getting a set of 21 colours that maximises the differences 
> between them?
>
> I could pick them by hand, but that is about 15 colours more than I know (I 
> have a detailed colourchart, but the visual differences between ’skyblue’ and 
> ’slategrey’ elude me when plotted as dots on a plot).
>
> Cheers
>
> F
> --
> Federico Calboli
> LBEG - Laboratory of Biodiversity and Evolutionary Genomics
> Charles Deberiotstraat 32 box 2439
> 3000 Leuven
> +32 16 32 87 67

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to