Две вещи, которые вы можете сделать, чтобы убрать скуку, - это сохранить палитру (ы), которые вы хотите использовать в переменной, и установить значения по умолчанию для geom.Я часто делаю это для того, чтобы пара палитр была готова к использованию по всему документу, например, одна качественная и одна непрерывная.
update_geom_defaults
принимает список аргументов по умолчанию для указанного geom, но вы все равно можете добавить илипереопределите эти значения по умолчанию, как показано ниже.
library(dplyr)
library(ggplot2)
accent <- RColorBrewer::brewer.pal(7, "Accent")
# item 6 is hot pink
update_geom_defaults("line", list(color = accent[6]))
mtcars %>%
count(cyl) %>%
ggplot(aes(x = cyl, y = n)) +
geom_line()

mpg %>%
group_by(year) %>%
summarise(avg_cty = mean(cty)) %>%
ggplot(aes(x = year, y = avg_cty)) +
geom_line(size = 2)

mpg %>%
group_by(year) %>%
summarise(avg_hwy = mean(hwy)) %>%
ggplot(aes(x = year, y = avg_hwy)) +
geom_line(color = accent[1])

Asдля определения того, что представляет собой каждый цвет в палитре без сортировки шестнадцатеричных кодов, удобна RColorBrewer::display.brewer.pal
, как и аналогичные функции в других пакетах, таких как rcartocolor
.У меня есть пакет служебных функций, который я часто использую, когда написал функцию для отображения блоков каждого цвета в векторе шестнадцатеричных кодов, потому что в противном случае это довольно утомительно.