2014-02-06 43 views

回答

31

最一致的方法是(感謝@baptiste):

m + stat_density(geom="line") 

我原來的建議是使用geom_line與適當的stat

m + geom_line(stat="density") 

,但它已不再推薦,因爲我收到報告,它沒有普遍ggplot的較新版本工作的每一個案件。

+1

或'stat_density'與適當的'geom' – baptiste

+0

感謝您的注意!將該選項包含在答案中。 – tonytonov

+0

'geom ='line''似乎不再適用於'ggplot2 2.1.0' – drmariod

1

另一種方法是單獨計算密度,然後繪製它。就像這樣:

a <- density(movies$rating) 
b <- data.frame(a$x, a$y) 
ggplot(b, aes(x=a.x, y=a.y)) + geom_line() 

它不完全一樣,但非常接近。

1

建議的答案不提供與geom_density完全相同的結果。爲什麼不在基線上繪製白線?

+ geom_hline(yintercept=0, colour="white", size=1) 

這對我有效。

+0

缺點是圖的背景可能是或可能不是白色,取決於軸設置等。 –