Как изменить цвет линий в ggplot2 (с примерами)


Вы можете использовать следующий базовый синтаксис для указания цветов линий в ggplot2:

ggplot(df, aes(x=x, y=y, group=group_var, color=group_var)) + 
 geom_line() +
 scale_color_manual(values=c('color1', 'color2', 'color3'))

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: изменение цвета линий в ggplot2

Предположим, у нас есть следующий фрейм данных в R:

#create data frame
df <- data.frame(store=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
 week=c(1, 2, 3, 1, 2, 3, 1, 2, 3),
 sales=c(9, 12, 15, 7, 9, 14, 10, 16, 19))

#view data frame
df

 store week sales
1 A 1 9
2 A 2 12
3 A 3 15
4 B 1 7
5 B 2 9
6 B 3 14
7 C 1 10
8 C 2 16
9 C 3 19

Теперь предположим, что мы создали следующий линейный график в ggplot2, чтобы визуализировать общие продажи по неделям и по магазинам:

library (ggplot2)

#create line plot
ggplot(df, aes(x=week, y=sales, group=store, color=store)) + 
 geom_line(size= 2 ) 

По умолчанию ggplot2 использует цветовую палитру по умолчанию с красным, зеленым и синим цветом для линий.

Однако вы можете использовать функцию scale_color_manual() , чтобы указать свои собственные цвета для линий:

library (ggplot2)

#create line plot
ggplot(df, aes(x=week, y=sales, group=store, color=store)) + 
 geom_line(size= 2 ) +
 scale_color_manual(values=c('orange', 'pink', 'red')) 

Цвета теперь оранжевый, розовый и красный.

Обратите внимание, что вы также можете использовать шестнадцатеричные коды цветов для указания цветов:

library (ggplot2)

#create line plot
ggplot(df, aes(x=week, y=sales, group=store, color=store)) + 
 geom_line(size= 2 ) +
 scale_color_manual(values=c('#063970', '#A69943', '#7843a6')) 

Теперь цвета соответствуют определенным шестнадцатеричным цветовым кодам, которые мы выбрали.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в ggplot2:

Как повернуть метки осей в ggplot2
Как изменить размер точки в ggplot2
Как добавить текст в графики ggplot2