在geom_bar中防止具有许多条的不存在的间距/条宽度

时间:2016-05-31 13:31:30

标签: r ggplot2

在带有大量条形的条形图中,会出现问题,即条形之间的间距和/或条形的宽度不一致,也会随着图形宽度的变化而变化。

set.seed(23511)
dat <- data.frame(x = 1:540, y = rnorm(540))

library(ggplot2)
ggplot(dat) +
  geom_bar(aes(x = x, y = y), stat = "identity")

有没有办法解决这个问题?我尝试使用width并且总体情节大小无济于事。

enter image description here

对于alistaire的评论,这里是来自RStudio的前几个酒吧的屏幕截图。看看前10个值......

    x          y
1   1  0.9450960
2   2  0.9277378
3   3  0.4371033
4   4 -1.0333073
5   5  2.0473397
6   6  0.8174123
7   7  0.4277842
8   8 -0.4336887
9   9  0.2156801
10 10  0.4918345

..对我来说,显然看起来前3个正值,条形/条形之间的空间比第二组3个正值之间的空间要窄,其中之间没有空格。酒吧/酒吧更宽。

enter image description here

1 个答案:

答案 0 :(得分:2)

我认为这是一个像素问题。如果条形的x从1.5到2.7像素,它将是一个像素宽,如果它从1.9到3.1(相同的宽度),它将是2像素宽。

你可以做线而不是吧。

 ggplot(data=dat, aes(x=x, y=y)) + 
   geom_segment(aes(xend=x, yend=0), size = 0.6) 

我认为您有时会遇到像素问题,但使用size可能更容易控制。