问题描述
我有这个数据框: df_long:
year variable value
1970 Argentina 20
1980 Argentina 30
1990 Argentina 80
1970 Belgium 10
1980 Belgium 22
1990 Belgium 80
1970 U.S. 12
1980 U.S. 36
1990 U.S. 80
1970 Australia 11
1980 Australia 12
1990 Australia 90
我是这样做的:
p <- ggplot(df_long,aes(year,value)) +
geom_line(aes(colour = variable,group = variable))
show(p)
我可以在同一张图上看到 4 条线,每个国家一条。 但我不知道如何分别选择这些行来操作它们。例如,给阿根廷线赋予红色等。 另外,我想添加一个带有 2 列的 facet_grid(),这样我就可以在左侧的图中看到来自阿根廷 + 澳大利亚的线条,并在右侧图中看到来自比利时 + 美国的线条
如何划分分组以便我可以做到这一点?
解决方法
试试这个:
-
向您的
tibble
添加新列:df <- df %>% mutate(group = case_when( variable %in% c("Australia","Argentina") ~ "group 1",variable %in% c("Belgium","U.S.") ~ "group 2" ))
-
绘制新的
df
:ggplot(df,aes(year,value)) + geom_line(aes(colour = variable,group = variable)) + scale_color_manual(values=c("red","blue","green","orange")) + facet_wrap(~group)
使用 scale_color_manual()
,您可以单独控制每行的颜色