Полное руководство по цветам по умолчанию в ggplot2


В пакете 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