【问题标题】:Density plot in ggplot2 using log scaleggplot2中使用对数刻度的密度图
【发布时间】:2026-01-19 22:40:02
【问题描述】:

我想使用 ggplot2 密度几何,对 x 比例使用对数变换:

qplot(rating, data=movies, geom="density", log="x")

然而,这会生成一个概率大于 1 的图表。一种似乎可行的解决方案是在调用 qplot 之前缩放数据集:

qplot(rating, data=transform(movies, rating=log(rating))

但是 x 轴看起来不太好。处理这个问题的正确方法是什么?


看来我的问题实际上没有意义。根据 [2],概率密度大于 1 似乎是可以的。重要的是整个空间的积分等于一 [3]。

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    这给出了正确的答案。

    qplot(rating, y = ..scaled.., data=movies, geom="density", log="x")
    

    stat_density 产生新的值,其中之一是 ..scaled.. 这是从 0 缩放到 1 的密度。

    HTH

    【讨论】: