La differenza tra facet_wrap() e facet_grid() in r


Le funzioni facet_grid() e facet_wrap() nel pacchetto ggplot2 possono essere entrambe utilizzate per produrre una griglia di grafici.

Ecco la differenza principale tra le due funzioni:

  • La funzione facet_grid() produrrà una griglia di grafici per ogni combinazione di variabili specificata, anche se alcuni grafici sono vuoti.
  • La funzione facet_wrap() produrrà solo grafici per combinazioni di variabili che hanno valori, il che significa che non produrrà grafici vuoti .

I due esempi seguenti illustrano la differenza tra queste due funzioni, utilizzando il seguente frame di dati:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'G', 'G'),
                 points=c(8, 14, 20, 22, 25, 29, 30, 31),
                 assists=c(10, 5, 5, 3, 8, 6, 9, 12))

#view data frame
df

  team position points assists
1 GA 8 10
2 AG 14 5
3 FY 20 5
4 AF 22 3
5 BG 25 8
6 BG 29 6
7 BG 30 9
8 BG 31 12

Esempio 1: utilizzo della funzione facet_grid()

Il codice seguente mostra come utilizzare facet_grid() per creare una griglia che visualizza un grafico a dispersione di assist rispetto a punti per ciascuna combinazione di squadra e posizione:

 library (ggplot2)

ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_grid(position~team)

Si noti che viene prodotto un grafico a dispersione per ogni combinazione di squadra e posizione , anche se nel frame di dati originale non esistono valori per un valore di squadra B e un valore di posizione F :

Ecco come funziona facet_grid() : produrrà un grafico per ogni combinazione di variabili specificate, anche se alcuni grafici sono vuoti.

Esempio 2: utilizzo della funzione facet_wrap()

Il codice seguente mostra come utilizzare facet_wrap() per creare una griglia che visualizza un grafico a dispersione di assist rispetto a punti per ogni combinazione esistente di squadra e posizione:

 library (ggplot2)

ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_wrap(position~team)

Tieni presente che un grafico a dispersione viene prodotto solo per le combinazioni di squadra e posizione esistenti nel frame di dati originale.

Ciò significa che non viene creato alcun grafico per la combinazione della squadra B e della posizione F perché non esiste alcun valore nel frame di dati originale per quella particolare combinazione.

Ecco come funziona facet_wrap() : non produrrà mai un percorso vuoto.

Nota : fare riferimento alla documentazione di ggplot2 per una guida completa alle funzioni facet_grid() e facet_wrap() .

Risorse addizionali

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

Come cambiare la dimensione del carattere in ggplot2
Come rimuovere una legenda in ggplot2
Come ruotare le etichette degli assi in ggplot2

Aggiungi un commento

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