В пакете ggplot2 есть список цветов по умолчанию, которые он использует для элементов на графике в зависимости от общего количества элементов.
Например, в следующем коде показано, как создать гистограмму с тремя полосами:
library (ggplot2)
#create data frame
df <- data.frame(team=c('A', 'B', 'C'),
points=c(22, 28, 15))
#create bar plot using df
ggplot(df, aes(x=team, y=points, fill=team)) +
geom_bar(stat = " identity ")

По умолчанию ggplot2 выбирает для полос определенный оттенок красного, зеленого и синего.
Мы можем использовать hue_pal() из пакета scales , чтобы извлечь фактические шестнадцатеричные коды цветов, используемые в графике:
library (scales)
#extract hex color codes for a plot with three elements in ggplot2
hex <- hue_pal()( 3 )
#display hex color codes
hex
[1] "#F8766D" "#00BA38" "#619CFF"
Вот как интерпретировать вывод:
- Шестнадцатеричный код цвета для красного цвета на графике — #F8766D .
- Шестнадцатеричный код зеленого цвета на графике — #00BA38 .
- Шестнадцатеричный код цвета синего цвета на графике — #619CFF .
Мы также можем использовать show_col() из пакета scales для наложения шестнадцатеричных цветовых кодов на их фактические цвета:
library (scales)
#extract hex color codes for a plot with three elements in ggplot2
hex <- hue_pal()( 3 )
#overlay hex color codes on actual colors
show_col(hex)

И мы можем использовать следующий код для создания графика, который показывает цвета ggplot2 по умолчанию для графиков с элементами от одного до восьми:
library (scales)
#set margins of plot area
par(mai = c(0.1, 0, 0.1, 0), bg = " grey85 ")
#create plot with ggplot2 default colors from 1 to 8
gc. grid <- layout(matrix(1:8, nrow = 8 ))
for (i in 1:8){
gc. ramp <- hue_pal()(i)
plot(c(0, 8), c(0,1),
type = " n",
bty=" n",
xaxt=" n",
yaxt=" n", xlab="", ylab="")
for (j in 1:i){
rect(j - 1, 0, j - 0.25, 1, col = gc. ramp [j])
}
}

И мы можем использовать следующий код для отображения шестнадцатеричных цветовых кодов для каждого цвета, показанного на графике:
library (scales)
#display ggplot2 default hex color codes from 1 to 8
for (i in 1:8){
print(hue_pal()(i))
}
[1] "#F8766D"
[1] "#F8766D" "#00BFC4"
[1] "#F8766D" "#00BA38" "#619CFF"
[1] "#F8766D" "#7CAE00" "#00BFC4" "#C77CFF"
[1] "#F8766D" "#A3A500" "#00BF7D" "#00B0F6" "#E76BF3"
[1] "#F8766D" "#B79F00" "#00BA38" "#00BFC4" "#619CFF" "#F564E3"
[1] "#F8766D" "#C49A00" "#53B400" "#00C094" "#00B6EB" "#A58AFF" "#FB61D7"
[1] "#F8766D" "#CD9600" "#7CAE00" "#00BE67" "#00BFC4" "#00A9FF" "#C77CFF" "#FF61CC"
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в R:
Полное руководство по лучшим темам ggplot2
Как изменить размер легенды в ggplot2
Как удалить легенду в ggplot2