R - Grafici a torta

Il linguaggio di programmazione R ha numerose librerie per creare grafici e tabelle. Un grafico a torta è una rappresentazione dei valori come fette di un cerchio con colori diversi. Le sezioni vengono etichettate e nel grafico sono rappresentati anche i numeri corrispondenti a ciascuna sezione.

In R il grafico a torta viene creato utilizzando il pie()funzione che accetta numeri positivi come input vettoriale. I parametri aggiuntivi vengono utilizzati per controllare etichette, colore, titolo ecc.

Sintassi

La sintassi di base per creare un grafico a torta usando la R è:

pie(x, labels, radius, main, col, clockwise)

Di seguito la descrizione dei parametri utilizzati:

  • x è un vettore contenente i valori numerici utilizzati nel grafico a torta.

  • labels è usato per dare una descrizione alle fette.

  • radius indica il raggio del cerchio del grafico a torta (valore compreso tra −1 e +1).

  • main indica il titolo del grafico.

  • col indica la tavolozza dei colori.

  • clockwise è un valore logico che indica se le fette sono disegnate in senso orario o antiorario.

Esempio

Viene creato un grafico a torta molto semplice utilizzando solo il vettore di input e le etichette. Lo script seguente creerà e salverà il grafico a torta nella directory di lavoro R corrente.

# Create data for the graph.
x <- c(21, 62, 10, 53)
labels <- c("London", "New York", "Singapore", "Mumbai")

# Give the chart file a name.
png(file = "city.png")

# Plot the chart.
pie(x,labels)

# Save the file.
dev.off()

Quando eseguiamo il codice sopra, produce il seguente risultato:

Titolo e colori del grafico a torta

Possiamo espandere le caratteristiche del grafico aggiungendo più parametri alla funzione. Useremo parametromain per aggiungere un titolo al grafico e un altro parametro è colche utilizzerà la tavolozza dei colori dell'arcobaleno durante il disegno del grafico. La lunghezza del pallet dovrebbe essere la stessa del numero di valori che abbiamo per il grafico. Quindi usiamo length (x).

Esempio

Lo script seguente creerà e salverà il grafico a torta nella directory di lavoro R corrente.

# Create data for the graph.
x <- c(21, 62, 10, 53)
labels <- c("London", "New York", "Singapore", "Mumbai")

# Give the chart file a name.
png(file = "city_title_colours.jpg")

# Plot the chart with title and rainbow color pallet.
pie(x, labels, main = "City pie chart", col = rainbow(length(x)))

# Save the file.
dev.off()

Quando eseguiamo il codice sopra, produce il seguente risultato:

Percentuali di sezione e legenda del grafico

Possiamo aggiungere la percentuale della fetta e una legenda del grafico creando variabili del grafico aggiuntive.

# Create data for the graph.
x <-  c(21, 62, 10,53)
labels <-  c("London","New York","Singapore","Mumbai")

piepercent<- round(100*x/sum(x), 1)

# Give the chart file a name.
png(file = "city_percentage_legends.jpg")

# Plot the chart.
pie(x, labels = piepercent, main = "City pie chart",col = rainbow(length(x)))
legend("topright", c("London","New York","Singapore","Mumbai"), cex = 0.8,
   fill = rainbow(length(x)))

# Save the file.
dev.off()

Quando eseguiamo il codice sopra, produce il seguente risultato:

Grafico a torta 3D

Un grafico a torta con 3 dimensioni può essere disegnato utilizzando pacchetti aggiuntivi. Il pacchettoplotrix ha una funzione chiamata pie3D() che viene utilizzato per questo.

# Get the library.
library(plotrix)

# Create data for the graph.
x <-  c(21, 62, 10,53)
lbl <-  c("London","New York","Singapore","Mumbai")

# Give the chart file a name.
png(file = "3d_pie_chart.jpg")

# Plot the chart.
pie3D(x,labels = lbl,explode = 0.1, main = "Pie Chart of Countries ")

# Save the file.
dev.off()

Quando eseguiamo il codice sopra, produce il seguente risultato: