gpt4 book ai didi

r - 我如何控制 ggplot2 中的 bin 间隔?

转载 作者:行者123 更新时间:2023-12-04 12:12:13 28 4
gpt4 key购买 nike

我无法正确控制垃圾箱是否从例如-10 到 +10 或从 0 到 20 当我说 binwidth = 20我得到前者,但我有从 1 开始的数据,我不希望间隔进入负数。

这是我的问题的一个例子:

testData = data.frame(x=c(1,4,6,9,9))

ggplot(data=testData, aes(x=testData$x)) +
geom_histogram(binwidth=3, aes(col=I("white"))) +
scale_x_continuous(breaks=c(1,2,3,4,5,6,7,8,9,10))

enter image description here

很奇怪,如果我使用 binwidth = 2我最终得到了我想要的间隔:
ggplot(data=testData, aes(x=testData$x)) +
geom_histogram(binwidth=2, aes(col=I("white"))) +
scale_x_continuous(breaks=c(1,2,3,4,5,6,7,8,9,10))

enter image description here

对于更大的数据集,如何让我的 bin 从 1..20、21..40 等开始?

最佳答案

您可以使用参数 center 来做到这一点。的 geom_histogram如下:

# Make some random test data
testData = data.frame(x=runif(1000,min=1,max=110))
# Construct the plot
ggplot(data=testData, aes(x=testData$x)) +
geom_histogram(binwidth=20,
center = 11,
aes(col=I("white"))) +
scale_x_continuous(breaks=seq(1,max(testData$x) + 20, by = 20))

通过指定 binwidth 和一个 bin 的中心,您可以定义 bin 的宽度为 20,并以 11 为中心。因此第一个 bin 将是 1 到 21。

我还添加了一个 seq()调用以构建 x 轴刻度,而无需手动键入所有刻度。结果图如下:

enter image description here

关于r - 我如何控制 ggplot2 中的 bin 间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41829256/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com