與GGPLOT2,我提出以下密度圖:製造線圖例爲geom_density在GGPLOT2中的R
ggplot(iris) + geom_density(aes(x=Sepal.Width, colour=Species))
顏色圖例(每個物種值)顯示爲具有通過它的線的框,但密度繪製是一條線。是否有一種方法可以讓圖例顯示爲物種的每個條目的彩色線條,而不是通過它的線條框?
與GGPLOT2,我提出以下密度圖:製造線圖例爲geom_density在GGPLOT2中的R
ggplot(iris) + geom_density(aes(x=Sepal.Width, colour=Species))
顏色圖例(每個物種值)顯示爲具有通過它的線的框,但密度繪製是一條線。是否有一種方法可以讓圖例顯示爲物種的每個條目的彩色線條,而不是通過它的線條框?
一種可能性是使用stat_density()
和geom="line"
。只有在這種情況下,纔會有上線。
ggplot(iris)+
stat_density(aes(x=Sepal.Width, colour=Species),
geom="line",position="identity")
如果您還需要整個地區(所有行),那麼你可以用show_guide=FALSE
結合geom_density()
(除去圖例)和stat_density()
比將增加的傳說只是水平線。
ggplot(iris) +
geom_density(aes(x=Sepal.Width, colour=Species),show_guide=FALSE)+
stat_density(aes(x=Sepal.Width, colour=Species),
geom="line",position="identity")
讓您可以通過
ggplot(iris) +
geom_density(aes(x=Sepal.Width, colour=Species),show_guide=FALSE) +
stat_density(aes(x=Sepal.Width, colour=Species),
geom="line",position="identity", size = 0) +
guides(colour = guide_legend(override.aes=list(size=1)))
PS繪製線條兩次:抱歉,沒有評論的顯然是正確的答案 - 缺乏代表的問題:)
pps:我意識到線程是相當老,但它今天幫助我,所以它可能有助於別人...
第二種解決方案就是我正在尋找的東西 - 但是,這不是將雙重密度線重疊在一起,讓它們看起來更厚? – user248237dfsf
是的,這使他們兩次。這只是解決這個問題的方法。 –
是否沒有辦法只更改圖例而不繪製兩次? – user248237dfsf