Grafici a torta Matplotlib
Creazione di grafici a torta
Con Pyplot, puoi utilizzare la pie()
funzione per disegnare grafici a torta:
Esempio
Un semplice grafico a torta:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
plt.pie(y)
plt.show()
Risultato:
Come puoi vedere, il grafico a torta disegna un pezzo (chiamato cuneo) per ogni valore nell'array (in questo caso [35, 25, 25, 15]).
Per impostazione predefinita, il tracciato del primo cuneo inizia dall'asse x e si sposta in senso antiorario :
Nota: La dimensione di ogni cuneo è determinata confrontando il valore con tutti gli altri valori, utilizzando questa formula:
Il valore diviso per la somma di tutti i valori:x/sum(x)
Etichette
Aggiungi etichette al grafico a torta con il label
parametro.
Il label
parametro deve essere un array con un'etichetta per ogni cuneo:
Esempio
Un semplice grafico a torta:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y,
labels = mylabels)
plt.show()
Risultato:
Angolo iniziale
Come accennato, l'angolo iniziale predefinito è sull'asse x, ma è possibile modificare l'angolo iniziale specificando un
startangle
parametro.
Il startangle
parametro è definito con un angolo in gradi, l'angolo di default è 0:
Esempio
Inizia il primo cuneo a 90 gradi:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y,
labels = mylabels, startangle = 90)
plt.show()
Risultato:
Esplodere
Forse vuoi che uno dei cunei si distingua? Il
explode
parametro ti consente di farlo.
Il explode
parametro, se specificato, e non None
, deve essere una matrice con un valore per ogni fetta.
Ogni valore rappresenta la distanza dal centro di ciascuna fetta visualizzata:
Esempio
Estrarre lo spicchio "Mele" 0,2 dal centro della torta:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y,
labels = mylabels, explode = myexplode)
plt.show()
Risultato:
Ombra
Aggiungi un'ombra al grafico a torta impostando il
shadows
parametro su True
:
Esempio
Aggiungi un'ombra:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y,
labels = mylabels, explode = myexplode, shadow = True)
plt.show()
Risultato:
Colori
È possibile impostare il colore di ogni cuneo con il colors
parametro.
Il colors
parametro, se specificato, deve essere un array con un valore per ogni fetta:
Esempio
Specificare un nuovo colore per ogni fetta:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["black", "hotpink", "b", "#4CAF50"]
plt.pie(y, labels =
mylabels, colors = mycolors)
plt.show()
Risultato:
Puoi utilizzare valori di colore esadecimali , uno qualsiasi dei 140 nomi di colore supportati o una di queste scorciatoie:
'r'
- Rosso
'g'
- Verde
'b'
- Blu
'c'
- Ciano
'm'
- Magenta
'y'
- Giallo
'k'
- Nero
'w'
- Bianco
Leggenda
Per aggiungere un elenco di spiegazioni per ogni cuneo, utilizzare la legend()
funzione:
Esempio
Aggiungi una legenda:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.legend()
plt.show()
Risultato:
Legenda con intestazione
Per aggiungere un'intestazione alla legenda, aggiungi il title
parametro alla legend
funzione.
Esempio
Aggiungi una legenda con un'intestazione:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.legend(title = "Four Fruits:")
plt.show()
Risultato: