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