使用Ggplot2制作直方图时调整x轴和分档

时间:2016-12-08 05:23:35

标签: r ggplot2

我是ggplot2中直方图的新手,感觉我错过了一些明显的东西。使用下面的数据,我正在尝试创建一个简单的直方图。我想做的就是让x轴计数为5,所以0-5-10-15-20-25-30 ......等等......因此,垃圾箱将年龄组除以5.我想也许我必须设置边界或什么?我不确定为什么下面的示例会创建一些比其他条更宽的条,以及为什么条不能在x轴上正确排列。

我试图找到之前提出的类似问题,但我仍然感到困惑,特别是在“break =”和“binwidth”和边界等之间。

我更喜欢使用ggplot 2.0的答案。

 Age<-c(18,82,65,89,10,44,46,23,10,15,22,33,34,30,50,60)
 Sex<-c("M","F","F","M","F","M","F","M","F","M","F","M","F","F","F","M")
 Df<-data.frame(Sex,Age)

 ggplot(Df,aes(Age))+geom_histogram(breaks=seq(0,100,by=10),aes  (fill=..count..))

2 个答案:

答案 0 :(得分:3)

binwidth控制每个bin的宽度,而bins指定bin的数量,ggplot可以解决这个问题。

根据您对年龄段的控制程度,这可能会起到作用:

ggplot(Df, aes(Age)) + geom_histogram(binwidth = 5)

编辑:通过以下方式更密切地控制休息实验:

+ scale_x_continuous(breaks = seq(0, 100, 5))

答案 1 :(得分:1)

这是你想要的吗?

Df$cut <- cut(Df$Age, seq(0,100,by=5))
ggplot(Df,aes(cut))+geom_histogram(stat= "count", aes(fill = ..count..))

enter image description here