提问人:the_special_none 提问时间:6/27/2022 最后编辑:the_special_none 更新时间:6/28/2022 访问量:44
按组级别划分的直方图和/或条形图
Histograms and/or bar graphs split by group level
问:
家 | 季节 | avg_days | n_season |
---|---|---|---|
阿纳多卢埃菲斯 | 2013-2014 | 14天 | 6 |
阿纳多卢埃菲斯 | 2014-2015 | 14天 | 6 |
阿纳多卢埃菲斯 | 2015-2016 | 14天 | 6 |
阿纳多卢埃菲斯 | 2016-2017 | 10天 | 6 |
阿纳多卢埃菲斯 | 2017-2018 | 11天 | 6 |
阿纳多卢埃菲斯 | 2018-2019 | 11天 | 6 |
巴塞罗那 | 2013-2014 | 15天 | 6 |
巴塞罗那 | 2014-2015 | 14天 | 6 |
巴塞罗那 | 2015-2016 | 13天 | 6 |
巴塞罗那 | 2016-2017 | 11天 | 6 |
巴塞罗那 | 2017-2018 | 12天 | 6 |
巴塞罗那 | 2018-2019 | 11天 | 6 |
你好
我有一个像上面报告的数据框,我想创建一个带有 ggplot2 的图表(直方图或图表条),显示每个团队(6 支球队)在赛季中的avg_days趋势。我面临的困难主要有两个:为每支球队创建一个图表,并绘制两个离散变量(x 轴上的季节和 y 轴上的avg_days)。
感谢您的帮助!
答:
1赞
Rui Barradas
6/28/2022
#1
要通过使用正则表达式保持数字来绘制,请强制为整数,然后通过管道传输到 .发布的数据集只有两个团队,所以我用 .另一种选择是facet_grid
。avg_days
season
avg_days
ggplot
facet_wrap
x <- "home season avg_days n_season
'Anadolu Efes' 2013-2014 '14 days' 6
'Anadolu Efes' 2014-2015 '14 days' 6
'Anadolu Efes' 2015-2016 '14 days' 6
'Anadolu Efes' 2016-2017 '10 days' 6
'Anadolu Efes' 2017-2018 '11 days' 6
'Anadolu Efes' 2018-2019 '11 days' 6
Barcelona 2013-2014 '15 days' 6
Barcelona 2014-2015 '14 days' 6
Barcelona 2015-2016 '13 days' 6
Barcelona 2016-2017 '11 days' 6
Barcelona 2017-2018 '12 days' 6
Barcelona 2018-2019 '11 days' 6
"
df1 <- read.table(textConnection(x), header = TRUE)
suppressPackageStartupMessages({
library(dplyr)
library(ggplot2)
})
df1 %>%
mutate(avg_days = sub("(^\\d+).*$", "\\1", avg_days),
avg_days = as.integer(avg_days)) %>%
ggplot(aes(season, avg_days)) +
geom_col() +
facet_wrap(~ home) +
theme_bw() +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1))
创建于 2022-06-27 由 reprex 包 (v2.0.1)
评论
dput
dput(df)
dput(head(df, 20))
df