2012-07-03 7 views
9

Ich habe einige geografische x, y, z-Daten, die ich plotten alsFarbverläufe Mit ggplot

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

folgt ich dann ein Gradient

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

Und dann Kachel anzuwenden und die Daten anzeigen

p<-p + geom_tile() 
p 

Dies funktioniert und gibt Folgendes:

enter image description here

Man würde denken, dann, dass ich so den scale_fill_gradient() Anruf mit einer beliebigen Anzahl anderer Optionen ersetzen könnte als

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

funktionieren würde.

Aber sie nicht, alles was ich bekomme ist ein Farbverlauf von blau.

Irgendwelche Gedanken, warum dies sein könnte, und wie ich viele fröhliche Farben erzeugen kann?

+5

'fill'! =' Colour'. – joran

+1

Um zu erweitern, was joran sagte, wenn Sie das Wort "Farbe" in all diesen Beispielen mit dem Wort "füllen" ersetzen Ich denke, Sie werden feststellen, dass Sie alle Ihre "fröhlichen Farben" generieren können – Justin

+0

Dank @Justin, scheint dies ändere die Umrissfarbe meiner geom_tiles ... also brauche ich eine Möglichkeit, die 'scale_colour' Befehle der Fülleigenschaft der Kachel zuzuordnen ... – Richard

Antwort

6

Es gibt zwei Versionen dieser Skalierungsfunktionen, eine für colour und eine für fill. Sie mussten nur die fill Versionen verwenden, d. H. scale_fill_hue usw.