On 2007-December-13  , at 15:56 , hadley wickham wrote:
> Hi Jiho,
>
> The key to solving this problem is to use aes_string instead of aes.
> Instead of the complicated munging that aes does to get the names of
> the variables, aes_string works directly with strings, so that:
>
> aes_string(x = "mpg", y = "wt") == aes(x = mpg, y = wt)
>
> So your function would look like:
>
> foo4 <- function(uv="u") {
>  ggplot(A, aes_string(x = "x", y= "y", fill = uv)) + geom_tile()
> }
>
> Or
>
> ggplot(A, aes(x=x, y=y)) + aes_string(fill=uv) + geom_tile()
>
> Hope that helps!  (And I've made a note to better document aes_string
> so you can discover after looking at aes)

great! I knew you would have thought this through. That's perfect. As  
always there's the trade-off between writing code and documenting the  
code already written. In this case the trade-off turned toward the  
code part I guess.

Autodetection of strings by aes would be even greater but that would  
prevent me to assign the actual strings "u", "x", "y" to an aes  
element, which I don't see as a problem for non text related functions  
though...

Thanks again.

JiHO
---
http://jo.irisson.free.fr/

______________________________________________
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.

Reply via email to