一个因素的意大利面图

Spaghetti plot with one factor

我有一个数据框

df_A<-data.frame(cost=ceiling(c(1:100)/10),
                 gamma=c(1:10),
                 error=sample(0:10, 100, replace=TRUE),
                 id="Test")

df_B<-data.frame(cost=ceiling(c(1:100)/10),
                 gamma=c(1:10),
                 error=sample(0:10, 100, replace=TRUE),
                 id="Validation")

df_A_B<-rbind(df_A, df_B) 

我通过 ID 和 Gamma 对它们进行了意大利面条图分解

ggplot(df_A_B, aes(x=cost, y=error, color=factor(gamma), fill=interaction(id, gamma))) + 
  geom_line()+geom_point()+theme_bw()+scale_y_continuous(limits = c(0,10))

结果是

没关系,现在我会画这样的情节:

其中相同的 Gamma 是彩色的,而其他的是灰色的,对于所有 Gamma,我该怎么办?

非常感谢

P.s。 对不起我的英语

以下代码将使用包 {gghighlight} 生成以下图。

ggplot(df_A_B, aes(x=cost, y=error, color=factor(gamma), fill=interaction(id, gamma))) + 
  geom_line() + 
  geom_point() + 
  theme_bw() + 
  scale_y_continuous(limits = c(0,10)) +
  facet_wrap(~gamma) + 
  gghighlight()