将总计添加到ggplot直方图

时间:2020-03-29 21:15:44

标签: r ggplot2

我想在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)

1 个答案:

答案 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)