geom_density:删除零处的水平线

yli*_*gle 1 r ggplot2

有没有办法删除零处的水平线geom_density?当试图同时绘制两条重叠的密度线时,这条线看起来不太漂亮。

演示示例从此处检索:

http://www.sthda.com/english/wiki/ggplot2-density-plot-quick-start-guide-r-software-and-data-visualization

set.seed(1234)
df <- data.frame(
  sex=factor(rep(c("F", "M"), each=200)),
  weight=round(c(rnorm(200, mean=55, sd=5),
                 rnorm(200, mean=65, sd=5)))
  )

library(ggplot2)
# Basic density
p <- ggplot(df, aes(x=weight)) + geom_density()
Run Code Online (Sandbox Code Playgroud)

teu*_*and 5

是的,您必须使用密度统计函数并将几何体更改为线(可选地将位置更改为"identity"):

ggplot(iris, aes(Sepal.Length, colour = Species)) +
  stat_density(geom = "line", position = "identity")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明