Используя данные 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)
Проблема в том, что линий на самом деле не видно. Поэтому я хотел бы использовать 2 разные цветовые палитры от Color Brewer. Пастель2 для точек, но я бы хотел использовать «Dark2» для линий. Это выделит линии.
Как бы я это сделал?
Даже если бы отдельные цветовые палитры были возможны, я думаю, это привело бы к путанице, поскольку вы бы сопоставили одну и ту же переменную с двумя разными цветами.
Как насчет настройки альфа точек для увеличения видимости линий?
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()
Результат:
Ваше решение проще, и мне оно очень понравилось. Я не отмечаю его как принятый, потому что другой ответил на мой конкретный вопрос