Как назначить цвета по коэффициенту в ggplot2 (с примерами)


Часто вам может потребоваться назначить цвета точкам на графике ggplot2 на основе категориальной переменной.

К счастью, это легко сделать, используя следующий синтаксис:

 ggplot(df, aes (x=x_variable, y=y_variable, color=color_variable)) +
  geom_point()

В этом руководстве представлено несколько примеров того, как практически использовать этот синтаксис с использованием встроенного набора данных R под названием iris :

 #view first six rows of iris dataset
head(iris)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa

Пример 1. Используйте цвета по умолчанию.

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

 library (ggplot2)

ggplot(iris, aes (x=Sepal.Length, y=Sepal.Width, color=Species)) +
  geom_point() 

цвет по коэффициенту в ggplot2

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

Пример 2. Использование собственных цветов

Следующий код показывает, как назначить пользовательские цвета точкам на графике ggplot2 с помощью Scale_color_manual() :

 library (ggplot2)

ggplot(iris, aes (x=Sepal.Length, y=Sepal.Width, color=Species)) +
  geom_point() +
  scale_color_manual( values = c(" setosa " = " purple ",
                                " versicolor =" orange ",
                                " virginica "=" steelblue ")) 

ggplot2 с пользовательскими цветами для категориальной переменной

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

Пример 3. Использование пользовательской цветовой шкалы

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

 library (ggplot2)
library (RColorBrewer)

#define custom color scale
myColors <- brewer. pal (3, " Spectral ")
names(myColors) <- levels(iris$Species)
custom_colors <- scale_color_manual(name = " Species Names ", values = myColors)

ggplot(iris, aes (x=Sepal.Length, y=Sepal.Width, color=Species)) +
  geom_point() +
  custom_colors

Пример RColorBrewer в R

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

Как создавать параллельные графики в ggplot2
Как изменить заголовок легенды в ggplot2
Полное руководство по лучшим темам ggplot2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *