Vai al contenuto
eLearner.app
Modulo 5 · Lezione 2 di 210/10 nel corso~15 min
Lezioni del modulo (2/2)

Personalizzazione e Facet

Oltre a definire geometrie ed estetiche, ggplot2 consente di personalizzare interamente l'aspetto visivo di un grafico aggiungendo titoli, modificando i temi ed effettuando il "faceting" (suddivisione dei grafici in pannelli).


Titoli ed Etichette: labs()

Per aggiungere un titolo principale, sottotitoli e modificare le etichette degli assi cartesiani o della legenda, usiamo lo strato labs():

Code
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  labs(
    title = "Reddito in base all'età",
    subtitle = "Dati del censimento 2026",
    x = "Età (anni)",
    y = "Reddito annuale (EUR)",
    color = "Genere"
  )

Temi Grafici: theme_*()

ggplot2 include diversi temi predefiniti che modificano lo sfondo, le griglie e la tipografia del grafico. Alcuni dei più utilizzati sono:

  • theme_gray() (il tema di default con sfondo grigio).
  • theme_minimal() (sfondo bianco e griglia molto sottile).
  • theme_classic() (stile pulito, senza linee di griglia interne).
Code
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  theme_minimal()  # Applica un design moderno e pulito

Suddividere il Grafico in Pannelli: facet_wrap()

Il faceting consente di dividere un singolo grafico in più grafici secondari (pannelli) affiancati, basandosi sul valore di una variabile categoriale.

La funzione principale è facet_wrap() e utilizza la notazione formula R (~ nome_variabile):

Code
# Crea un grafico separato per ogni dipartimento
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  facet_wrap(~ department)

Prova tu

Esercizio 1: Aggiungi titoli e assi

Esercizio#r.m5.l2.e1
Tentativi: 0Caricamento…

Dato il grafico a dispersione, aggiungi lo strato labs() impostando il titolo (title) su 'Title', l'etichetta dell'asse x su 'Age' e l'etichetta dell'asse y su 'Income'.

Caricamento editor…
Mostra suggerimento

Usa labs(title = 'Title', x = 'Age', y = 'Income') concatenandolo con il '+'.

Soluzione disponibile dopo 3 tentativi

Esercizio 2: Applica un tema pulito

Esercizio#r.m5.l2.e2
Tentativi: 0Caricamento…

Applica il tema grafico theme_minimal() al grafico a dispersione sottostante per migliorarne l'estetica visiva.

Caricamento editor…
Mostra suggerimento

Usa il segno '+' e aggiungi la funzione theme_minimal().

Soluzione disponibile dopo 3 tentativi

Esercizio 3: Dividi il grafico con facet_wrap

Esercizio#r.m5.l2.e3
Tentativi: 0Caricamento…

Usa la funzione facet_wrap() per suddividere il grafico a dispersione in pannelli differenti basandoti sulla colonna department.

Caricamento editor…
Mostra suggerimento

Usa facet_wrap(~ department) per suddividere il grafico.

Soluzione disponibile dopo 3 tentativi

Esercizio 4: Inverti gli assi coordinati

Esercizio#r.m5.l2.e4
Tentativi: 0Caricamento…

Per rendere leggibile un grafico a colonne con molte categorie, puoi invertire gli assi x e y. Aggiungi lo strato coord_flip() al grafico a barre.

Caricamento editor…
Mostra suggerimento

Usa coord_flip() legandolo alla pipeline ggplot con '+'.

Soluzione disponibile dopo 3 tentativi

Esercizio 5: Grafico completo da pubblicazione

Esercizio#r.m5.l2.e5
Tentativi: 0Caricamento…

Crea un grafico completo su df: mappa age su x, income su y e color su gender in geom_point(). Suddividi il grafico con facet_wrap() per department, aggiungi labs() con titolo 'Salary by Age' e infine applica theme_minimal().

Caricamento editor…
Mostra suggerimento

Unisci tutti gli strati usando '+': ggplot(...) + geom_point() + facet_wrap(~ department) + labs(title = 'Salary by Age') + theme_minimal()

Soluzione disponibile dopo 3 tentativi