Come ombreggiare un'area in ggplot2 (con esempi)


Puoi utilizzare la seguente sintassi di base per ombreggiare una particolare area in un grafico in ggplot2:

 ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .2 , fill=' red ')

Questo particolare esempio ombreggia l’area tra i valori x di 3 e 5 e i valori y di 3 e 7.

L’argomento fill controlla il colore dell’area ombreggiata e l’argomento alpha controlla la trasparenza del colore.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: ombreggia un’area in ggplot2

Supponiamo di avere il seguente frame di dati in R che contiene informazioni sui punti segnati e sui rimbalzi raccolti da vari giocatori di basket:

 #create data frame
df <- data. frame (points=c(3, 3, 5, 6, 7, 8, 9, 9, 8, 5),
                 rebounds=c(2, 6, 5, 5, 8, 5, 9, 9, 8, 6))

#view data frame
df

   rebound points
1 3 2
2 3 6
3 5 5
4 6 5
5 7 8
6 8 5
7 9 9
8 9 9
9 8 8
10 5 6

Possiamo utilizzare il seguente codice per creare un grafico a dispersione e ombreggiare l’area tra i valori x di 3 e 5 e i valori y di 3 e 7 con un rettangolo rosso chiaro:

 library (ggplot2)

#create scatter plot with shaded area
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .2 , fill=' red ') 

area grigia di ggplot2

L’area specificata nella funzione annotate() è ombreggiata da un rettangolo rosso chiaro.

Si noti che il valore dell’argomento alfa varia da 0 a 1, con valori più bassi che indicano una maggiore trasparenza.

Ad esempio, se modifichiamo il valore alfa a 0,5, il colore dell’area ombreggiata sarà più scuro:

 library (ggplot2)

#create scatter plot with shaded area
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .5 , fill=' red ') 

Tieni inoltre presente che puoi utilizzare la funzione annotate() più volte per creare più aree ombreggiate nella trama:

 library (ggplot2)

#create scatter plot with two shaded areas
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .5 , fill=' red ') 

più aree ombreggiate in ggplot2

Sentiti libero di giocare con gli argomenti della funzione annotate() per creare l’esatta ombreggiatura che desideri nella tua trama.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come aggiungere testo ai grafici ggplot2
Come rimuovere la griglia in ggplot2
Come modificare le etichette dell’asse X in ggplot2

Aggiungi un commento

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