首页 > 解决方案 > geom_density 不显示在 geom_histogram

问题描述

我正在尝试使用 ggplot 在直方图上绘制密度曲线,但无济于事。dlist是一个带有数值的向量。

这是我的代码:

ggplot() +
  geom_histogram(aes(x=dlist), bins = 30, fill = "#B3E4F7") +
  geom_density() +
  geom_vline(aes(xintercept = mean(dlist)),
             color="#D2091F", linetype="dashed",size=1)

在此处输入图像描述

标签: rggplot2

解决方案


您需要设置y..density... 例如:

ggplot(data.frame(dlist), aes(x=dlist, y = ..density..)) +
        geom_histogram(bins = 30, fill = "#B3E4F7") +
        geom_density() +
        geom_vline(aes(xintercept = mean(dlist)),
                   color="#D2091F", linetype="dashed",size=1)

一个可重现的例子:

library(ggplot2)
ggplot(mtcars, aes(x = mpg, y = ..density..)) +
        geom_histogram(bins = 30,  fill = "#B3E4F7") +
        geom_density()

在此处输入图像描述


推荐阅读