[英]scale_colour_gradient vs. scale_fill_gradient in ggplot2
我絕對是ggplot2
初學者,並嘗試使用此軟件包繪制漂亮的人物。 我正在閱讀本手冊,但我不了解scale_colour_gradient()
與scale_fill_gradient()
之間的區別。在我的分析中,我將使用“假設”進行觀察,因為我不確定我的結論。
這是對我有用的原始代碼:
實驗1
erupt <- ggplot(faithfuld, aes(waiting, eruptions, fill = density)) +
geom_raster()
erupt
假設:使用默認顏色(即藍色)繪制噴繪密度
我想進一步嘗試ggplot2
的scale_colour_gradient()
和scale_fill_gradient()
實驗2
erupt <- ggplot(faithfuld, aes(waiting, eruptions)) +
geom_raster(aes(fill=density)) +
scale_colour_gradient(low = "white", high = "black")
erupt
現在,我得到了與實驗1相同的圖形。這是否意味着如果在ggplot的美學設計中使用fill = xyz,我將設置顏色漸變而不是填充漸變嗎? 要了解我為什么要問這個,讓我們看一下實驗3。
實驗3
erupt <- ggplot(faithfuld, aes(waiting, eruptions)) +
geom_raster(aes(fill=density)) +
scale_fill_gradient(low = "white", high = "black")
erupt
在這里,我唯一更改的是使用scale_fill_gradient
而不是scale_color_gradient
。 但是,該圖完全不同。 從黑色到白色。
有人可以幫我了解發生了什么嗎? 具體來說,我有兩個問題:
a)當我們設置fill = xyz時,它是設置顏色還是填充?
b) scale_fill_gradient
和scale_color_gradient
什么scale_color_gradient
?
如果我的問題對您來說太基礎了,我深表歉意。 我不是專家,任重而道遠。
更新:經過討論,得出的結論是:
在實驗1中 :該圖使用連續變量“密度”簡單地填充。
在實驗2中 ,我填充“密度”,但隨后覆蓋“顏色”。 因此,ggplot嘗試着色柵格圖的邊框(因為我覆蓋顏色),並且與填充無關,因為我沒有覆蓋任何內容。
在實驗3中 ,我正在填充和覆蓋,所以我看到了白色和黑色的圖。
為了解決這個問題,我做了兩件事:
實驗2 :修復#1:
ggplot(faithfuld, aes(waiting, eruptions, fill = density)) +
geom_raster(aes(colour=density)) +
scale_colour_gradient(low = "white", high = "red") +
scale_fill_gradient(low = "white", high = "green")
要么
修復#2:
ggplot(faithfuld, aes(waiting, eruptions, fill = density)) +
geom_raster(aes(colour=density)) +
scale_colour_gradient(low = "white", high = "black")
另外,為了增加axeman的觀點,這是我所做的:
ggplot(faithfuld, aes(waiting, eruptions, fill = density)) +
geom_tile(aes(fill=density, col=density)) +
scale_colour_gradient(low = "white", high = "red") +
scale_fill_gradient(low = "white", high = "green")
在輸出中,我們將看到瓷磚的邊界按照密度(即紅色)着色,填充色按照綠色進行着色。 因此,通過這種方式,我們可以演示填充和顏色的效果。
在ggplot2
, color
和fill
分別映射。 color
是指點和線的顏色,而fill
是指條形填充(即內部顏色),密度填充等。如果在aes()
映射fill=xyz
然后使用scale_color_...
,它將不會執行任何操作,因為您必須使用scale_fill_...
控制fill
。 如果在這種情況下映射color
,它將改變密度周圍線的顏色; 那么您可以調用scale_color_...
進行更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.