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

Оскільки ми не вказали колірну шкалу чи власний список кольорів, 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *