我试图在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认为是连续的数据。
答案 0 :(得分:2)
假设您有数字数据而不是整数,则可以在colour = "white"
或size = 1.5
中设置geom_bar
和geom_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()
这给出了:
当你有整数时,你也可以在评论中使用@jeremycg提到的技巧:
ggplot(data, aes(x = factor(int.score))) +
geom_bar(width=0.7) +
theme_bw()
给出: