ggplot2条形图不会显示栏之间的空格

时间:2015-10-15 18:05:04

标签: r ggplot2 histogram bar-chart

我试图在ggplot2中创建条形图,显示大数据集的直方图。

ggplot(data = score.data, aes(x = score)) + geom_bar(binwidth = .25, width=.9)

我的雇主的平面设计政策是在酒吧之间进行少量分离。但无论我将宽度参数设置为什么,都会生成绘图,条形图之间没有任何空格。我应该使用不同的参数来实现这个目标吗?

编辑:根据jeremycg在评论中的建议,我已经包含了一些数据。

score <- c(6.25, 4.75, 6, 1.5, 6, 5, 6, 2.75, 6, 2.5, 5.25, 6, 3.75, 6, 
           6.25, 5, 6.75, 2, 2.75, 3.25, 5.625, 6.5, 4, 5, 3)

我将它转换为一个因素,除了我想要显示大小为.25的二进制文件 - 这些四分之一的值之间存在少量值(如上所示,其中一个值为5.625)。并且stat_bin仅适用于ggplot认为是连续的数据。

1 个答案:

答案 0 :(得分:2)

假设您有数字数据而不是整数,则可以在colour = "white"size = 1.5中设置geom_bargeom_histogram(或其他值)。这将使条的边缘变白和变粗(使用size参数),从而在它们之间创建一些视觉空间:

# create some sample data
set.seed(2)
data <- data.frame(score=rnorm(1000,0,5), int.score=sample(1:10,1000,replace=TRUE))

# create the plot
ggplot(data, aes(x = score)) + 
  geom_bar(binwidth = .25, color="white", size=1.5) +
  theme_bw()

这给出了:

enter image description here

当你有整数时,你也可以在评论中使用@jeremycg提到的技巧:

ggplot(data, aes(x = factor(int.score))) + 
  geom_bar(width=0.7) +
  theme_bw()

给出:

enter image description here