2012-07-03 148 views
9

我有我繪製一些地理X,Y,Z數據如下顏色梯度隨着ggplot

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

然後我應用漸變

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

然後瓦片和顯示數據

p<-p + geom_tile() 
p 

這個工程,並給出以下內容:

enter image description here

人們可能會認爲的話,那我可以與任何數量的其他選項替換scale_fill_gradient()呼叫如

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

會工作。

但他們沒有,我得到的只是藍色的漸變。

任何想法爲什麼這可能是,以及如何我可以生成大量的快樂顏色?

+5

'fill'!='colour'。 – joran

+1

爲了擴大喬蘭說的話,如果你用所有這些例子中的單詞'fill'替換單詞'color',我想你會發現你可以生成所有的「幸福顏色」 – Justin

+0

謝謝@Justin,這似乎是改變我的geom_tiles的輪廓顏色...所以我需要一種方法將'scale_colour'命令映射到tile的填充屬性... – Richard

回答

6

這些比例函數有兩個版本,一個用於colour,另一個用於fill。您只需要使用fill版本,即scale_fill_hue等。