r - geom_bar的宽度和间隙(ggplot2)

标签 r ggplot2

我想使用ggplot制作条形图。当我执行export> copy to clipboard并进行绘图,然后尝试调整绘图大小后,随着我更改绘图大小,条形之间的间隙也会发生变化(条形之间的间隙会更改其位置)。

我希望我对此很清楚。我使用了以下代码:

ggplot(df, aes(Day, Mean)) +
 geom_histogram(stat = "identity", position = "stack") +
 theme(axis.text = element_text(size=12, colour =  'black')) +
 ylim(0, 50) + xlim(0, 365)

我尝试同时使用geom_bargeom_histogram,似乎都给出了相同的情节。随着我调整尺寸,条形之间的间隙也会改变。

附言我必须绘制365 bars,每个代表一年的一天。
如果您认为我不清楚,请随时编辑问题。

plot i created with the code provided here

这是用代码生成的图。您可以清楚地看到两者之间的不均匀间隙。

这是数据:
data

编辑

数据
df <- data.frame(Mean=c(0,0,0,0,0,0,0.027272727,0,0.409090909,0.009090909,0,0,0,0,0,0.054545455,0.036363636,0.118181818,0.327272727,0.254545455,0,0,1.609090909,1.636363636,0,0.181818182,1.2,0.090909091,0.409090909,0.418181818,1.018181818,0.409090909,0.127272727,0.072727273,0.054545455,1.2,0.127272727,0.290909091,0,0.518181818,0.254545455,0.454545455,1.545454545,1.1,1.763636364,0,0.136363636,0.7,0.445454545,1.954545455,0.018181818,0,2.618181818,0,0,3.518181818,7.645454545,2.709090909,5.909090909,0.9,1.109090909,2.354545455,0.418181818,0.272727273,0,0,1.636363636,0,2.927272727,0.472727273,1,0,2.109090909,0.490909091,0.827272727,2.663636364,4.8,0.554545455,6.3,3.936363636,2.218181818,0.045454545,0,7.109090909,0,3.745454545,3.009090909,8.818181818,6,21.99090909,2.845454545,3.918181818,1.4,12.32727273,1.136363636,4.345454545,1.018181818,2.927272727,12.53636364,2.618181818,0.709090909,5.645454545,5.345454545,3.181818182,2.681818182,13.96363636,3.990909091,9.9,12.54545455,8.545454545,11.43636364,6.281818182,1.836363636,11.4,4.827272727,16.14545455,3.581818182,1.972727273,3.4,4.472727273,18.86363636,5,11.4,5.790909091,3.745454545,1.072727273,2.581818182,5.063636364,12.42727273,9.2,10.85454545,15.18181818,5.963636364,22.53636364,5.027272727,7,4.572727273,7.190909091,15.42727273,7.3,23.48181818,30.87272727,19.62727273,6.463636364,16.20909091,9.509090909,5.1,8.127272727,5.890909091,11.84545455,10.14545455,4.518181818,15.23636364,22.41818182,21.62727273,7.245454545,19.56363636,33.94545455,26.98181818,9.027272727,11.28181818,20.44545455,27.52727273,23.25454545,28.77272727,20.04545455,30.68181818,28.32727273,12.38181818,13.54545455,18.17272727,12.97272727,38.14545455,20.2,14.30909091,39.44545455,34.4,34.49090909,23.32727273,29.37272727,50.68181818,23.2,16.28,35.02,49,18.86,30.96,37.83,33.01,44.31,25.51,33.76,15.05,24.8,8.99,15.72,41.31,41.47,28.12,44.22,30.63,37.35,15.72,12.86,21.89,18.02,6.32,4.73,24.16,29.12,11.58,24.25,22.69,15.7,24.36,20.05,17.19,26.71,17.84,16.53,9.3,5.11,10.97,19.95,5.65,29.88,34.95,24.14,32.09,9.85,17.49,13.72,7.97,26.21,24.9,26.45,14.1,9.52,18.64,13.43,15.17,26.61,9.84,24.9,16.42,19.58,17.58,22.96,39.61,22.83,15.49,23.64,16.71,3.96,10.17,19.04,28.42,16.64,4.95,9.73,13.45,11.67,8.02,8.71,8.31,17.65,8.41,7.19,11.94,5.15,5.54,5.21,0.88,0.96,6.18,9.46,10.24,17.29,8.95,16.51,6.31,11.4,5.05,8.28,0.26,0,6.19,1.02,0.99,0.94,1.87,0,0.21,3.32,3.33,7.82,2.65,5.21,0.49,1.59,0.05,2.25,0,0,1.09,0.42,0,0.05,0.02,0,0.18,0,0.02,0.05,0.09,0.01,1.01,0,0,2.38,0.42,0.65,0,0,0,0.4,0,0,0,0,0.18,0,0,0,0,0,0.63,0,0,0,0.1,0,0,0,0,0,1.35,0,0,0,0,0,1.62,0.2,0,0,0,1.3,0,0,0,0,0.89,4.55,0), Day=seq(1, 365, 1))

最佳答案

width设置为较小的值并指定color可为我提供所需的结果,所有条形之间均存在间隙:

ggplot(df, aes(x = Day, y = Mean)) +
  geom_bar(stat = "identity", width = 0.1, color = "black") +
  theme_bw() +
  theme(axis.text = element_text(size = 12))

结果图:

enter image description here

如果您不希望有任何差距,请使用width = 1:
ggplot(df, aes(x = Day, y = Mean)) +
  geom_bar(stat = "identity", width = 1) +
  theme_bw(base_size = 12) 

结果图:

enter image description here

关于r - geom_bar的宽度和间隙(ggplot2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32941670/

相关文章:

python - 从数据 : overlapping time intervals? 中删除行

r - 有没有办法导出错误信息?

R { ggplot2 } 是否可以查询绘图的刻度线是什么?

r - 在 ggplot2 中绘制 bootstrap 输出的中位数、置信区间

r - Phyloseq ggplot2 对象不允许添加某些元素

r - 在每次迭代 lapply 时打印,因此输出位于列表元素之间

r - 如何在 R 中构建 GA 的变异算法

r - 如何以编程方式创建 R 函数?

r - 创建后修改ggplot对象

r - 使用汇总统计在 ggplot2 中生成箱线图