Вы можете сделать это, определив limits
в scale_color_manual()
на первом графике вместе с установкой значения для каждого из ваших значений.
Например, вы можете добавить
scale_color_manual(limits = c("A", "B", "C"),
values = c("#999999",hcl(c(15, 195), 100, 65)))
к первому сюжету вашего примера.
ggarrange(
(
ggplot(df, aes(x=d, palette="Set1"))
+ geom_smooth(aes(y=a, color="A"), se=FALSE)
+ scale_color_manual(limits = c("A", "B", "C"),
values = c("#999999",hcl(c(15, 195), 100, 65)))
),
(
ggplot(df, aes(x=d, palette="Set2"))
+ geom_smooth(aes(y=b, color="B"), se=FALSE)
+ geom_smooth(aes(y=c, color="C"), se=FALSE)
),
common.legend=TRUE
)
![enter image description here](https://i.stack.imgur.com/Zp0j7.png)