Come creare grafici a torta in ggplot2 (con esempi)


Un grafico a torta è un tipo di grafico a forma di cerchio e utilizza le sezioni per rappresentare le proporzioni di un intero.

Questo tutorial spiega come creare e modificare grafici a torta in R utilizzando la libreria di visualizzazione dei dati ggplot2 .

Come creare un grafico a torta di base

Il codice seguente mostra come creare un grafico a torta di base per un set di dati utilizzando ggplot2:

 library (ggplot2)

#create data frame
data <- data.frame(" category " = c('A', 'B', 'C', 'D'),
                   " amount " = c(25, 40, 27, 8))

#create pie chart
ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) 

grafico a torta ggplot2

Come modificare l’aspetto del grafico a torta

Il grafico a torta predefinito in ggplot2 è piuttosto brutto. Il modo più semplice per migliorare l’aspetto è utilizzare theme_void() , che rimuove lo sfondo, la griglia e le etichette:

 ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) +
  theme_void() 

Grafico a torta ggplot2 senza etichette

Possiamo migliorare ulteriormente l’aspetto del grafico aggiungendo etichette all’interno delle sezioni:

 ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) +
  geom_text( aes (label = paste0(amount, " % ")), position = position_stack(vjust= 0.5 )) +
  labs(x = NULL, y = NULL, fill = NULL) 

Grafico a torta in ggplot2 con etichette personalizzate

Possiamo personalizzare ulteriormente il grafico specificando i nostri colori esadecimali da utilizzare per le sezioni con l’argomento scale_fill_manual() :

 ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) +
  geom_text( aes (label = paste0(amount, " % ")), position = position_stack(vjust= 0.5 )) +
  labs(x = NULL, y = NULL, fill = NULL) +
  theme_classic() +
  theme(axis.line = element_blank(),
          axis.text = element_blank(),
          axis.ticks = element_blank()) +
  scale_fill_manual(values=c(" #FF5733 ", " #75FF33 ", " #33DBFF ", " #BD33FF ")) 

Grafico a torta ggplot2 riempimento manuale in scala

Suggerimento: utilizza questo selettore di colori esadecimali per trovare combinazioni di codici colore esadecimali che stanno bene insieme.

Puoi anche personalizzare i colori delle fette semplicemente scegliendo una delle scale di colori del birraio . Ad esempio, ecco come appare la scala di colori “blues”:

 ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) +
  geom_text( aes (label = paste0(amount, " % ")), position = position_stack(vjust= 0.5 )) +
  labs(x = NULL, y = NULL) +
  theme_classic() +
  theme(axis.line = element_blank(),
          axis.text = element_blank(),
          axis.ticks = element_blank()) +
  scale_fill_brewer(palette=" Blues ") 

Birra su larga scala in ggplot2

Risorse addizionali

Come creare un boxplot raggruppato in R utilizzando ggplot2
Come creare una mappa termica in R utilizzando ggplot2
Come creare un diagramma di Gantt in R utilizzando ggplot2

Aggiungi un commento

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