Re: [R] Selecting complementary colours

From: Thomas Lumley <tlumley_at_u.washington.edu>
Date: Tue, 22 May 2007 09:01:01 -0700 (PDT)

On Mon, 21 May 2007, John Fox wrote:
>
> In retrospect, I didn't specify the problem clearly: What I want to be able
> to do is to place text on a background of arbitrary (but known RGB) colour
> so that the text is legible. I guess that this is better described as a
> "contrasting" than a "complementary" colour.

Since luminance contrasts are necessary and sufficient for readable text, you could use white for dark colors and black for light colors.

Luminance is roughly proportional to 0.2*(R^2.4)+0.6*(G^2.4), suggesting something like

lightdark<-function (color)
{

     rgb <- col2rgb(color)/255
     L <- c(0.2, 0.6, 0) %*% rgb
     ifelse(L >= 0.2, "#000060", "#FFFFA0")
}

This uses a pale yellow for dark backgrounds and a dark blue for light backgrounds, and it seems to work reasonably well.

         -thomas



R-help_at_stat.math.ethz.ch 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. Received on Tue 22 May 2007 - 16:12:46 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 22 May 2007 - 19:31:23 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.