我有一个简单的问题。如何使用带有固定 ggplot2 并填充彩虹色(或任何其他调色板)的 binwidth 绘制直方图?

假设我有这样的数据:

myData <- abs(rnorm(1000))

我想绘制直方图,例如使用binwidth=.1 。然而,这将导致不同数量的 bin,具体取决于数据:
ggplot() + geom_histogram(aes(x = myData), binwidth=.1)

r - 如何用颜色渐变填充直方图?-LMLPHP

如果我知道垃圾箱的数量(例如 n=15 ),我会使用类似的东西:
ggplot() + geom_histogram(aes(x = myData), binwidth=.1, fill=rainbow(n))

但是随着垃圾箱数量的变化,我有点困在这个简单的问题上。

最佳答案

如果你真的想要灵活的垃圾箱数量,这是我的小解决方法:

library(ggplot2)

gg_b <- ggplot_build(
  ggplot() + geom_histogram(aes(x = myData), binwidth=.1)
)

nu_bins <- dim(gg_b$data[[1]])[1]

ggplot() + geom_histogram(aes(x = myData), binwidth=.1, fill = rainbow(nu_bins))

r - 如何用颜色渐变填充直方图?-LMLPHP

10-07 21:57