Come utilizzare facet_wrap in r (con esempi)


La funzione facet_wrap() può essere utilizzata per produrre grafici multi-pannello in ggplot2.

Questa funzione utilizza la seguente sintassi di base:

 library (ggplot2)

ggplot(df, aes (x_var, y_var)) +
  geom_point() +
  facet_wrap(vars(category_var))

I seguenti esempi mostrano come utilizzare questa funzione con il set di dati mpg integrato in R:

 #view first six rows of mpg dataset
head(mpg)

manufacturer model displ year cyl trans drv cty hwy fl class
										
audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
audi a4 2.0 2008 4 manual(m6) f 20 31 p compact
audi a4 2.0 2008 4 auto(front) f 21 30 p compact
audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
audi a4 2.8 1999 6 manual(m5) f 18 26 p compact

Esempio 1: funzione di base facet_wrap()

Il codice seguente mostra come creare più grafici a dispersione in ggplot2 utilizzando displ come variabile dell’asse x, hwy come variabile dell’asse y e class come variabile di raggruppamento:

 ggplot(mpg, aes (displ, hwy)) +
  geom_point() +
  facet_wrap(vars(class))

Esempio 2: utilizzare etichette personalizzate

Il codice seguente mostra come utilizzare la funzione facet_wrap() con etichette personalizzate per i titoli delle trame:

 #define custom labels
plot_names <- c('2seater' = "2 Seater",
                'compact' = "Compact Vehicle",
                'midsize' = "Midsize Vehicle",
                'minivan' = "Minivan",
                'pickup' = "Pickup Truck",
                'subcompact' = "Subcompact Vehicle",
                'suv' = "Sport Utility Vehicle")

#use facet_wrap with custom plot labels
ggplot(mpg, aes (displ, hwy)) +
  geom_point() +
  facet_wrap(vars(class), labeller = as_labeller (plot_names)) 

facet_wrap con etichette personalizzate in R

Esempio 3: utilizzare scale personalizzate

Il codice seguente mostra come utilizzare la funzione facet_wrap() con scale personalizzate per ogni singolo grafico:

 #use facet_wrap with custom scales
ggplot(mpg, aes (displ, hwy)) +
  geom_point() +
  facet_wrap(vars(class), scales=' free ') 

Esempio 4: utilizzare un comando personalizzato

Il codice seguente mostra come utilizzare la funzione facet_wrap() con ordinamento personalizzato per i singoli grafici:

 #define order for plots
mpg <- within(mpg, class <- factor(class, levels=c(' compact ', ' 2seater ', ' suv ',
                                                   ' subcompact ', ' pickup ',
                                                   ' minivan ', ' midsize ')))

#use facet_wrap with custom order
ggplot(mpg, aes (displ, hwy)) +
  geom_point() +
  facet_wrap(vars(class)) 

face_wrap() con comando personalizzato in R

Tieni presente che i grafici appaiono nell’ordine esatto che abbiamo specificato.

Risorse addizionali

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 *