htang@hpl.hp.com
2003-Oct-29 01:53 UTC
[Rd] Wishlist: user-specified color names for palette() (PR#4836)
Full_Name: Hsiu-Khuern Tang Version: 1.8.0 OS: GNU/Linux (Debian unstable) Submission from: (NULL) (156.153.255.243) Hi, I use palette(rgb(red=..., green=..., blue=..., names=mycolors)) to define my own color palette. After doing this, the names `mycolors' are not stored in palette() anymore, so that palette() returns a mix of built-in color names and RGB values. Eg:> palette()[1] "black" "#EAA200" "#FF6633" "gray60" I wish that palette() would return a _named vector_ like this:> palette()black orange tomato gray "#000000" "#EAA200" "#FF6633" "#999999" One application: I want to specify colors by name, where the names returned by palette() are searched first. If there is a match, the corresponding RGB value is used; otherwise the built-in R color is used. Best, Hsiu-Khuern Tang.
Gabor Grothendieck
2003-Oct-29 14:48 UTC
[Rd] Wishlist: user-specified color names for palette() (PR#4836)
Provided you are willing to only use colors in the vector returned
by colors() then this function would do it for you:
colors.names <- function( x ) {
color.name <- function( x )
ifelse(substr(x,1,1) == "#", colors()[ match( x, colors.hex() )
], x )
z <- sapply( x, color.name )
ifelse(is.na(z), x, z)
}
where colors.hex is defined here:
http://maths.newcastle.edu.au/~rking/R/help/03a/7417.html
e.g.
colors.names( c("red", "#FF00FF", "blue") )
---
To: <r-devel@stat.math.ethz.ch>
Cc: <R-bugs@biostat.ku.dk>
Subject: [Rd] Wishlist: user-specified color names for palette() (PR#4836)
Full_Name: Hsiu-Khuern Tang
Version: 1.8.0
OS: GNU/Linux (Debian unstable)
Submission from: (NULL) (156.153.255.243)
Hi,
I use palette(rgb(red=..., green=..., blue=..., names=mycolors)) to define my
own color palette. After doing this, the names `mycolors' are not stored in
palette() anymore, so that palette() returns a mix of built-in color names and
RGB values.
Eg:> palette()
[1] "black" "#EAA200" "#FF6633" "gray60"
I wish that palette() would return a _named vector_ like this:
> palette()
black orange tomato gray
"#000000" "#EAA200" "#FF6633" "#999999"
One application:
I want to specify colors by name, where the names returned by palette() are
searched first. If there is a match, the corresponding RGB value is used;
otherwise the built-in R color is used.
Best,
Hsiu-Khuern Tang.
______________________________________________
_______________________________________________
No banners. No pop-ups. No kidding.
Introducing My Way - http://www.myway.com
Possibly Parallel Threads
- Notes on building a gcc toolchain for Rtools (but not multilib)
- Notes on building a gcc toolchain for Rtools (but not multilib)
- Notes on building a gcc toolchain for Rtools (but not multilib)
- Notes on building a gcc toolchain for Rtools (but not multilib)
- Notes on building a gcc toolchain for Rtools (but not multilib)