【问题标题】:ggplot2 - geom_histogram's binwidth with scale_x_log10ggplot2 - geom_histogram 的 binwidth 与 scale_x_log10
【发布时间】:2018-06-10 20:07:58
【问题描述】:

我正在尝试使用 ggplot 构建直方图。 我不太明白 binwidth 是如何工作的。

 library(ggplot2)
 set.seed(10)
 testData = data.frame(x=rlnorm(100, log(1), log(2.5)))
 ggplot(data=testData, aes(x=testData$x)) +
 geom_histogram(binwidth=1)+scale_x_log10()

如何获得每个数量级的 1 bar? (即 10^-1 和 10^0 之间的 1 条,10^0 和 10^1 之间的 1 条,...)

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    一种方法是使用cut() 函数对数据进行分组,然后按组计数

    library(ggplot2)
    set.seed(10)
    x=rlnorm(100, log(1), log(2.5))
    testData = data.frame(x = x, grp = cut(x, c(0.1, 1, 10)))
    ggplot(data=testData, aes(grp)) +
        stat_count()
    

    【讨论】:

    • 不是我所期待的解决方案,而是一个很好的解决方案!说,在这个图上方,我想覆盖原始数据集的 geom_density 层。关于如何使用“转换为因子解决方案”的任何建议?提前致谢。
    猜你喜欢
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多