Как назначить цвета по коэффициенту в 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 просто назначил точкам список цветов по умолчанию — красный, зеленый и синий.
Пример 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 "))
Обратите внимание, что мы также могли бы использовать шестнадцатеричные коды цветов для указания цветов.
Пример 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
Дополнительные ресурсы
Как создавать параллельные графики в ggplot2
Как изменить заголовок легенды в ggplot2
Полное руководство по лучшим темам ggplot2