Это отличается от существующих вопросов. Другие ответы указывают на перемещение целых баров в соответствии с указанным порядком. Я хотел бы отсортировать полученные столбцы по одному элементу в столбцах с накоплением.
Я создал гистограмму с накоплением в R. Это набор данных:
dput(Pitch_third)
structure(list(Team = c("Millwall", "Birmingham", "Sheffield United",
"Rotherham", "Middlesbrough", "Wigan", "Aston Villa", "Blackburn",
"Bolton", "Brentford", "Bristol City", "Leeds", "Preston", "Queens Park Rangers",
"Stoke", "Derby", "Ipswich", "Norwich", "West Bromwich Albion",
"Nottingham Forest", "Swansea", "Hull", "Reading", "Sheffield Wednesday"),
Own_3rd = c(0.25, 0.25, 0.25, 0.29, 0.27, 0.28, 0.28, 0.3,
0.29, 0.28, 0.28, 0.3, 0.28, 0.3, 0.27, 0.28, 0.3, 0.29, 0.29,
0.3, 0.31, 0.3, 0.3, 0.31),
Middle_3rd = c(0.41, 0.42, 0.43,
0.4, 0.43, 0.42, 0.44, 0.41, 0.42, 0.42, 0.43, 0.42, 0.42, 0.42,
0.45, 0.45, 0.43, 0.44, 0.44, 0.43, 0.44, 0.45, 0.45, 0.45),
Final_3rd = c(0.35, 0.33, 0.32, 0.31, 0.3, 0.3, 0.29, 0.29,
0.29, 0.29, 0.29, 0.29, 0.29, 0.29, 0.28, 0.27, 0.27, 0.27,
0.27, 0.26, 0.26, 0.25, 0.25, 0.25)),
row.names = c(NA, -24L),
class = "data.frame")
Затем из этих данных я создал табличку с именем Pitch_third
.
Затем построил это так:
Pitch_third %>%
gather(variable, value, Own_3rd:Final_3rd) %>%
ggplot(aes(x = Team, y = value, fill = variable)) +
geom_bar(position = "fill", stat = "identity") +
coord_flip()
Это результирующий сюжет:
![](https://i.imgur.com/buCQ56x.png)
Как я могу отсортировать график так, чтобы команды сортировались по переменной Final_3rd, а не по алфавиту?
Я пытался использовать arrange()
для сортировки тиббла по Final_3rd
, но я думаю, что gather()
может с этим связываться.
Pitch_third <- arrange(Pitch_third, desc(Final_3rd))