我想在ggplot直方图中添加总HR的总和,但是会卡住。我希望创建一个2019、2018、2017等MLB赛季的直方图,并显示HR在整个联赛中的命中率分布。我认为将每年的总HR命中率包括在内会有所帮助。
我的代码如下:
ggplot(Batting_2019, aes(hr2019))+
geom_histogram(aes(y=..density..),
breaks=seq(0,60, by=3), col="white",fill="navy", alpha=.75)+
labs(title = "Home Runs hit in 2019")+
xlab("Home Run Totals")+
ylab("Frequency")+
geom_density(col=2)
答案 0 :(得分:0)
您可以使用gg_build()-函数访问ggplot数据
我用rnorm(1:100)给出一个最小示例,该示例的总数为..(谁猜到了?)n = 100
## create random df
df<-as.data.frame(rnorm(1:100))
colnames(df)<-"value"
# create histogram
p <- ggplot(df, aes(value)) + geom_histogram()
# get data out of histogram
pg <- ggplot_build(p)
# calculate total of counts
total <- sum(pg$data[[1]]$count)
> total
[1] 100
### Homerun!!
您可以使用此方法获得更多见解:只需检查pg对象
View(pg)