[R] Selecting complementary colours
John Fox
jfox at mcmaster.ca
Tue May 22 02:22:53 CEST 2007
Dear Achim,
As I mentioned in my response to Deepayan's suggestion, I didn't specify the
original problem clearly: The object is to get contrasting colours, so that
when one is plotted over the other, the two will be readily distinguishable.
Your suggestions don't do this for neutral colours:
> x <- "#888888"
> y_hcl <- as(hex2RGB(x), "polarLUV")
> y_hcl at coords[1, "H"] <- y_hcl at coords[1, "H"] + 180
> hex(y_hcl)
[1] "#888888"
> y_hsv <- as(hex2RGB(x), "HSV")
> y_hsv at coords[1, "H"] <- y_hsv at coords[1, "H"] + 180
> hex(y_hsv)
[1] "#888888"
Thank you for trying to help.
John
--------------------------------
John Fox, Professor
Department of Sociology
McMaster University
Hamilton, Ontario
Canada L8S 4M4
905-525-9140x23604
http://socserv.mcmaster.ca/jfox
--------------------------------
> -----Original Message-----
> From: Achim Zeileis [mailto:Achim.Zeileis at wu-wien.ac.at]
> Sent: Monday, May 21, 2007 7:07 PM
> To: John Fox
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] Selecting complementary colours
>
> On Mon, 21 May 2007, John Fox wrote:
>
> > Dear r-helpers,
> >
> > I wonder whether, given the "#rrggbb" representation of a colour,
> > there is a simple way to select the complementary colour,
> also expressed as a "#rrggbb"
> > string.
>
> Is the complementary color uniquely defined? My understanding
> is that you can take opposite colors on a color wheel, but
> there are of course various color wheels available. With
> "colorspace" you can experiment with this,
> e.g.:
> x <- "#81A9D0"
> y_hcl <- as(hex2RGB(x), "polarLUV")
> y_hcl at coords[1, "H"] <- y_hcl at coords[1, "H"] + 180
> y_hcl <- hex(y_hcl)
> which is a bit more balanced than
> y_hsv <- as(hex2RGB(x), "HSV")
> y_hsv at coords[1, "H"] <- y_hsv at coords[1, "H"] + 180
> y_hsv <- hex(y_hsv)
>
> hth,
> Z
>
>
>
More information about the R-help
mailing list