Как получить линии регрессии в цветовой палитре пивовара, отличной от точек на моем графике рассеяния? - PullRequest
0 голосов
/ 13 сентября 2018

Используя данные GapMinder, я сделал график ниже с другой линией регрессии по континентам:

scatter plot with regression lines

Вот код:

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

Проблема в том, что линии на самом деле не видны. Поэтому я хотел бы использовать 2 разные цветовые палитры от цветного пивовара. Pastel2 для точек, но я хотел бы использовать «Dark2» для линий. Это выделит линии.

Как бы я это сделал?

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Вы можете использовать заполненную форму точки для точек, что позволяет использовать шкалу заливки для точек и цвет линий:

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()

Результат:

enter image description here

0 голосов
/ 13 сентября 2018

Даже если бы были возможны отдельные цветовые палитры, я думаю, что это привело бы к путанице, поскольку вы бы отобразили одну и ту же переменную на два разных цвета.

Как насчет настройки альфа-точки для увеличения видимости линий?

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()

enter image description here

...