2012-07-03 15 views
9

devo alcuni x geografiche, y, dati z che io trama come seguecolori gradienti Con ggplot

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

ho quindi applicare un gradiente

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

E poi piastrelle e visualizzare i dati

Questo funziona e fornisce quanto segue:

enter image description here

Si potrebbe pensare quindi, che ho potuto sostituire la chiamata scale_fill_gradient() con qualsiasi numero di altre opzioni come ad esempio

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() 

avrebbe funzionato.

Ma non lo fanno, tutto quello che ottengo è un gradiente di blu.

Qualche idea sul perché questo potrebbe essere e su come posso generare molti colori felici?

+5

'fill'! =' Colore'. – joran

+1

Per espandere quello che joran ha detto, se sostituisci la parola 'color' in tutti questi esempi con la parola' fill' penso che troverai che puoi generare tutti i tuoi "happy colors" – Justin

+0

Grazie a @Justin, questo sembra sto cambiando il colore del contorno delle mie geom_tiles ... quindi ho bisogno di un modo per mappare i comandi 'scale_colour' alla proprietà fill della tile ... – Richard

risposta

6

Esistono due versioni di queste funzioni di scala, una per colour e una per fill. Hai solo bisogno di utilizzare le versioni, ad esempio scale_fill_hue, ecc.