我正在尝试在NHL中创建自由职业者签名的堆叠条形图。因此,我希望条形图的总长度代表花费的总金额,每个填充块代表和单独签名。
我在下面编写了以下代码-但是秤发生了两个奇怪的事情。 #1-尽管是根据每个单独的总点击次数的总和排序的,但条形长度与值不匹配。 NYI的“工资”排名第二,但他们的门槛太短了。 #2,最底层的规模不大-FLA花了2300万美元,但规模显示他们花了超过1.5亿美元。我已经将薪水值作为geom_text调用提供了参考。
nhl %>%
group_by(TEAM) %>%
mutate(salary = sum(`CAP HIT`)) %>%
ungroup() %>%
mutate(Team = fct_reorder(TEAM, `CAP HIT`, sum, .desc = FALSE)) %>%
mutate(cap = as.character(`CAP HIT`)) %>%
ggplot(aes(Team, salary, fill = cap)) +
geom_bar(stat = "identity") +
coord_flip() +
theme_fivethirtyeight() +
theme(legend.position = "none") +
scale_fill_manual(values = mycolors) +
scale_y_continuous(labels = scales::dollar) +
labs(title = "Florida is shelling out the cash", subtitle = "Free agent signings from July 1st to July 4th") +
geom_text(aes(label = salary))
作为参考,这是数据框的开头:
PLAYER AGE POS TEAM DATE TYPE LENGTH VALUE `CAP HIT`
<chr> <dbl> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
1 "Ben Chiarot\xa0" 28 D MTL 4-Jul-19 Standard 3 10500000 3500000
2 "Cody Ceci\xa0" 25 D TOR 4-Jul-19 Standard 1 4500000 4500000
3 "Alexander Kerfoot\xa0" 24 C, LW TOR 4-Jul-19 Standard 4 14000000 3500000
,您还可以在此处找到完整的csv数据: https://raw.githubusercontent.com/hockeyfan22/mackinawstats/master/salaries.csv
答案 0 :(得分:1)
使用直方图,而不是条形图
ggplot(aes(Team, salary, fill = cap)) +
geom_histogram()
您可能需要使用设置stat = "identity"