如何解决ggplot:分组和绘制多条线,但分别处理它们
我有这个数据框: 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()
,您可以单独控制每行的颜色
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。