我能够绘制密度直方图,并且我能够绘制带有自定义分箱的常规直方图,但不能同时绘制两者.这是我的尝试:
library(ggplot2)
vals = c(2.6, 5.2, 4.1, 6.9, 5.7, 5.2, 4.4, 5.5, 6.3, 6.1, 4.7, 1.4)
myplot = qplot(vals, geom = 'blank') +
geom_line(aes(y = ..density..), stat = 'density',
colour = 26, size = 2, alpha = .6) +
geom_histogram(aes(y = ..density..), binwidth = 1,
fill = 28, alpha = 0.3) +
stat_bin(breaks=seq(-.5,8.5,1)) + xlim(-1, 9)
print(myplot)
Run Code Online (Sandbox Code Playgroud)
如果删除该stat_bin术语,直方图将正确绘制为密度直方图,但具有默认的bin位置.添加stat_bin术语,箱子是正确的,但它不再是密度直方图.任何想法如何让两个工作?
Did*_*rts 15
您可以添加参数breaks=的geom_histogram()设置自己的破发点(你不必使用geom_histogram()和stat_bin()在一起,因为geom_histogram()使用stat_bin()产生的结果).
qplot(vals, geom = 'blank') +
geom_line(aes(y = ..density..), colour=26, stat = 'density', size = 2, alpha = .6) +
geom_histogram(aes(y = ..density..), fill = 28, alpha = 0.3, breaks=seq(-.5,8.5,1))
Run Code Online (Sandbox Code Playgroud)
