我使用ggplot
這裏描述ggplot2和geom_density:如何刪除基線?
http://docs.ggplot2.org/current/stat_density.html
和R控制檯
m <- ggplot(movies, aes(x = rating))
m + geom_density()
這工作,但有一些方法去除x軸和之間的連接進入密度圖(將密度圖連接到x軸的垂直線)
我使用ggplot
這裏描述ggplot2和geom_density:如何刪除基線?
http://docs.ggplot2.org/current/stat_density.html
和R控制檯
m <- ggplot(movies, aes(x = rating))
m + geom_density()
這工作,但有一些方法去除x軸和之間的連接進入密度圖(將密度圖連接到x軸的垂直線)
最一致的方法是(感謝@baptiste):
m + stat_density(geom="line")
我原來的建議是使用geom_line
與適當的stat
:
m + geom_line(stat="density")
,但它已不再推薦,因爲我收到報告,它沒有普遍ggplot的較新版本工作的每一個案件。
另一種方法是單獨計算密度,然後繪製它。就像這樣:
a <- density(movies$rating)
b <- data.frame(a$x, a$y)
ggplot(b, aes(x=a.x, y=a.y)) + geom_line()
它不完全一樣,但非常接近。
建議的答案不提供與geom_density
完全相同的結果。爲什麼不在基線上繪製白線?
+ geom_hline(yintercept=0, colour="white", size=1)
這對我有效。
缺點是圖的背景可能是或可能不是白色,取決於軸設置等。 –
或'stat_density'與適當的'geom' – baptiste
感謝您的注意!將該選項包含在答案中。 – tonytonov
'geom ='line''似乎不再適用於'ggplot2 2.1.0' – drmariod