如何使用ggplot绘制向量的直方图/频率计数?

时间:2013-09-26 10:27:56

标签: r vector ggplot2 histogram

我想用 ggplot 绘制数值向量的值的频率。使用plot()非常简单,但我无法使用 ggplot 获得相同的结果。

library(ggplot2)    
dice_results <- c(1,3,2,4,5,6,5,3,2,1,6,2,6,5,6,4)    
hist(dice_results)

enter image description here

ggplot(dice_results) + geom_bar()
# Error: ggplot2 doesn't know how to deal with data of class numeric

我应该为ggplot()创建一个数据框来绘制我的矢量吗?

3 个答案:

答案 0 :(得分:11)

尝试以下代码

library(ggplot2)    
dice_results <- c(1,3,2,4,5,6,5,3,2,1,6,2,6,5,6,4,1,3,2,4,6,4,1,6,3,2,4,3,4,5,6,7,1)
ggplot() + aes(dice_results)+ geom_histogram(binwidth=1, colour="black", fill="white")

答案 1 :(得分:8)

请查看帮助页?geom_histogram。从第一个例子中你可能会发现这是有效的。

qplot(as.factor(dice_results), geom="histogram")

另请参阅?ggplot。您会发现数据必须是data.frame

答案 2 :(得分:0)

如果您想手动控制垃圾箱的数量:

ggplot() +
    geom_histogram(aes(x = dice_results, y = ..density..), bins = 5)