如何在与散点图中的点不同的颜色 brewer 调色板中使用回归线?

How to have regression lines in a different color brewer pallete than the points in my scatter plot?

使用 GapMinder 数据,我用不同大陆的回归线绘制了下面的图:

代码如下:

ggplot(gapminder_82, 
       aes(gdpPercap, lifeExp, color = continent)) + 
  geom_point() + 
  scale_x_log10() +
  scale_color_brewer(palette = "Set2") +
  geom_smooth(method = "lm", se = F)

问题是线条不是很明显。所以我想使用来自 color brewer 的 2 种不同的调色板。 Pastel2 用于点,但我想使用 "Dark2" 用于线。它会使线条脱颖而出。

我该怎么做?

即使可以使用单独的调色板,我认为这也会导致混淆,因为您会将同一个变量映射到两种不同的颜色。

如何调整点的 alpha 以增加线条的可见性?

gapminder_82 %>% 
  ggplot(aes(gdpPercap, lifeExp)) + 
    geom_point(aes(color = continent), alpha = 0.1) + 
    geom_smooth(method = "lm", 
                se = FALSE, 
                aes(color = continent)) +
    scale_x_log10() +
    scale_color_brewer(palette = "Set2") +
    theme_bw()

您可以为点使用填充点形状,允许您为点使用填充比例,为线使用颜色:

ggplot(gapminder_82, 
       aes(gdpPercap, lifeExp)) + 
    # Make the edge color for the points totally transparent
    geom_point(aes(fill = continent), shape = 21, size = 3, colour = "#FFFFFF00") + 
    scale_x_log10() +
    geom_smooth(aes(color = continent), method = "lm", se = F) +
    scale_fill_brewer(palette = "Pastel2") +
    scale_color_brewer(palette = "Dark2") + 
    theme_bw()

结果: