我正在尝试创建一个类似于下面的图,其中蓝色遮蔽了灰色。但是,在我创建的图中,蓝色并没有盖过其他颜色。有人可以指导我如何实现吗?
这是我想在颜色方面得到的图:
这是我的情节:
ggplot(df, aes(year, unemp), color=cntry)+
geom_line(aes(group=cntry, color=cntry), size=1.5)+
scale_color_manual(values=c('dark blue','#999999','#999999','#999999','#999999','#999999'))
这是我的数据:
df= structure(list(cntry = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L), .Label = c("France",
"Germany", "Italy", "Poland", "Spain", "United Kingdom"), class = "factor"),
year = c(2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2009, 2010, 2011, 2012, 2002, 2003, 2004, 2005, 2006, 2007,
2008, 2009, 2010, 2011, 2012, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009, 2010, 2011, 2012, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011, 2012, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012), unemp = c(8,
9, 9, 9, 9, 8, 7, 9, 9, 9, 10, 9, 10, 10, 11, 10, 9, 7, 8,
7, 6, 5, 9, 8, 8, 8, 7, 6, 7, 8, 8, 8, 11, 20, 20, 19, 18,
14, 10, 7, 8, 10, 10, 10, 11, 11, 11, 9, 8, 8, 11, 18, 20,
21, 25, 5, 5, 5, 5, 5, 5, 6, 8, 8, 8, 8)), row.names = c(NA,
-66L), class = c("tbl_df", "tbl", "data.frame"))
答案 0 :(得分:2)
用户@stefan 已将这个问题作为 this one 的副本关闭,但我不相信该骗子会回答它。这个问题询问如何将一条线放在所有其他线之上,而不仅仅是突出显示它。
这是一种方法。反转因子水平并反转图例,以使 France
位于顶部。
library(dplyr)
library(ggplot2)
clrs <- c('dark blue','#999999','#999999','#999999','#999999','#999999')
df %>%
mutate(cntry = factor(cntry, levels = rev(levels(cntry)))) %>%
ggplot(aes(year, unemp), color=cntry)+
geom_line(aes(group=cntry, color=cntry), size=1.5)+
scale_color_manual(values = rev(clrs),
guide = guide_legend(reverse = TRUE))
答案 1 :(得分:1)
您可以在其他之后单独绘制它。像这样:
ggplot(df, aes(year, unemp), color=cntry)+
geom_line(aes(group=cntry, color=cntry), size=1.5)+
geom_line(data = df[df$cntry == 'France',], aes(group=cntry, color=cntry), size=1.5)+
scale_color_manual(values=c('dark blue','#999999','#999999','#999999','#999999','#999999'))