我根据原籍国在xgplot中绘制了一个超过x年的城市移民数量的线图。在五年的时间内,每个国家都作为自己的线绘制成图,绘制在对其他国家的图表上。
我希望按国家/地区的顺序排列传奇人数,不论国家总数是多少,而不是按现在的字母顺序排列。
我尝试过使用forcats命令,例如fct_relevel,但是除了手动操作之外,还没有找到任何其他功能,这对于多个图表来说可能非常耗时。
我的数据框包含变量year
,country
和number_migrants
,每个观察结果都是年份 - 国家/地区。
library(tidyverse)
g <- ggplot(migrants, aes(x=year, y=number_migrants, col=country)) +
geom_line()
答案 0 :(得分:2)
您需要fct_reorder
library(dplyr)
library(forcats)
migrants %>%
mutate(
country = fct_reorder(country, number_migrants, .desc = TRUE)
) %>%
ggplot(migrants, aes(x=year, y=number_migrants, col=country)) +
geom_line()