gpt4 book ai didi

r - 使用 forcat::fct_reorder 对 facet_wrap 中的图进行排序

转载 作者:行者123 更新时间:2023-12-02 05:07:35 25 4
gpt4 key购买 nike

我有一段时间内国家/地区级别的统计数据。我使用 facet_wrap() 按国家/地区进行绘图,但我想仅根据最新值 (2015) 按降序排列绘图。我尝试使用 transform() 但仅对第一个值(2005)进行排序。我认为 forcats::fct_reorder() 可以帮助我实现这一目标,但我尚未成功插入 facet_wrap() 的任何参数。这可能吗?我不想执行 grid_arrange() as this question suggests如果可能的话。

Country <- c('a', 'b', 'c', 'x', 'y', 'z')
`2005` <- c(500, 700, 600, 900, 800, 1000)
`2010` <- c(900, 600, 800, 1000, 500, 700)
`2015` <- c(1000, 900, 500, 800, 700, 600)

df1 <- data.frame(Country, `2005`, `2010`, `2015`)

gather1 <- gather(df1, "Year", myValue, 2:4)

gg1 <- ggplot() +
geom_line(data = gather1, aes(x = Year, y = myValue, group = Country), size = 1.5, color = "orange") +
facet_wrap(~ Country, ncol = 3) +
theme(aspect.ratio = (35/50))
gg1

最佳答案

给你!

gather2 <- df1 %>%
mutate(Country=fct_reorder(Country, `2015`)) %>%
gather("Year", myValue, 2:4)

gg2 <- ggplot() +
geom_line(data = gather2, aes(x = Year, y = myValue, group = Country), size = 1.5, color = "orange") +
facet_wrap(~ Country, ncol = 3) +
theme(aspect.ratio = (35/50))
gg2

enter image description here

关于r - 使用 forcat::fct_reorder 对 facet_wrap 中的图进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40381987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com