2012-07-03 28 views
9

que tienen algunos x geográficas, y, z Datos cual parcela de la siguiente maneragradientes de color Con ggplot

p<-ggplot(aes(x=x,y=y,fill=z),data=my_data) 

Luego aplico un gradiente

p<-p + scale_fill_gradient(low = "pink", high = "green") 

Y luego baldosas y mostrar los datos

p<-p + geom_tile() 
p 

Esto funciona y ofrece lo siguiente:

enter image description here

Se podría pensar entonces, que podría sustituir a la llamada scale_fill_gradient() con cualquier número de otras opciones tales como

p<-p + scale_color_hue() 
p<-p + scale_colour_gradientn(colours=c("#E5F5F9","#99D8C9","#2CA25F")) 
p<-p + scale_colour_gradientn(colours = rainbow(7)) 
p<-p + scale_colour_brewer() 

funcionaría.

Pero no lo hacen, todo lo que obtengo es un degradado de azul.

¿Alguna idea de por qué esto podría ser así, y cómo puedo generar muchos colores felices?

+5

'fill'! =' Colour'. – joran

+1

Para ampliar lo que dijo joran, si reemplazas la palabra 'color' en todos esos ejemplos con la palabra' fill' creo que encontrarás que puedes generar todos tus "colores felices" – Justin

+0

Gracias @Justin, esto parece estar cambiando el color del contorno de mis geom_tiles ... así que necesito una forma de asignar los comandos 'scale_colour' a la propiedad de relleno de la tesela ... – Richard

Respuesta

6

Hay dos versiones de estas funciones de escala, una para colour y otra para fill. Solo necesita usar las versiones fill, es decir, scale_fill_hue, etc.