Come assegnare i colori in base al fattore in ggplot2 (con esempi)


Spesso potresti voler assegnare colori ai punti in un grafico ggplot2 in base a una variabile categoriale.

Fortunatamente, questo è facile da fare utilizzando la seguente sintassi:

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

Questo tutorial fornisce diversi esempi di come utilizzare praticamente questa sintassi utilizzando il set di dati R integrato chiamato 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

Esempio 1: utilizza i colori predefiniti

Il codice seguente mostra come assegnare colori predefiniti ai punti in un grafico ggplot2 in base alla variabile fattoriale Specie :

 library (ggplot2)

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

colore per fattore in ggplot2

Poiché non abbiamo specificato una scala di colori o un elenco di colori personalizzato, ggplot2 ha semplicemente assegnato ai punti un elenco di colori predefinito rosso, verde e blu.

Esempio 2: utilizza colori personalizzati

Il codice seguente mostra come assegnare colori personalizzati ai punti in un grafico ggplot2 utilizzando 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 con colori personalizzati per la variabile categoriale

Tieni presente che avremmo potuto anche utilizzare codici colore esadecimali per specificare i colori.

Esempio 3: utilizzare una scala di colori personalizzata

Il codice seguente mostra come assegnare colori personalizzati ai punti in un grafico ggplot2 utilizzando una scala di colori personalizzata dal pacchetto 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

Esempio di RColorBrewer in R

Risorse addizionali

Come creare grafici affiancati in ggplot2
Come cambiare il titolo della legenda in ggplot2
Una guida completa ai migliori temi ggplot2

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *