Як призначити кольори за фактором у 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 на основі факторної змінної Species :
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