Vai al contenuto principale

Grafico a torta in Python: crealo e personalizzalo con Pandas e Matplotlib

Impara a creare e migliorare grafici a torta usando le librerie Matplotlib e Pandas di Python. Scopri esempi di codice pratici e consigli di design essenziali per visualizzazioni chiare e leggibili.
Aggiornato 29 set 2026  · 7 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

I grafici a torta sono tra i più usati per visualizzare le proporzioni. Probabilmente li conosci già: immagina una grande torta, o una forma di Emmental, tagliata in fette di dimensioni diverse. 

Python offre diversi modi per creare grafici a torta. In questo tutorial ci concentreremo su come crearli in Python usando Matplotlib e Pandas, due tra i pacchetti più popolari per l’analisi dei dati in Python. Struttureremo l’articolo per metodo, così puoi concentrarti sull’approccio e sulla sintassi che si integrano meglio nel tuo flusso di lavoro. 

Oltre a questi metodi, forniremo alcuni consigli per migliorare troubleshooting, accessibilità e usabilità dei grafici a torta. Infine, prenderemo in considerazione anche grafici alternativi che in certi scenari possono essere più adatti dei grafici a torta.

Modi per creare grafici a torta in Python 

Ti mostrerò due modi diversi per creare un grafico a torta in Python, e potrai decidere tu quale preferisci. Entrambi sono opzioni popolari e valide, quindi non puoi sbagliare. 

Metodo 1: Grafici a torta con Matplotlib

Iniziamo analizzando come creare un grafico a torta con Matplotlib. 

Per questa sezione analizzeremo i dati sui diversi corsi disponibili nel catalogo corsi di DataCamp, che puoi trovare qui. (Ho consultato il catalogo e contato il numero di corsi disponibili per ciascuna tecnologia, creando una tabella con queste informazioni.)

Come creare il grafico

Per creare il nostro primo grafico a torta con Matplotlib, possiamo usare la funzione plt.pie(). Useremo una lista con il numero di corsi disponibili per diverse tecnologie data e AI (ognuna rappresenta la dimensione della fetta), e una seconda lista con i nomi delle tecnologie, che includeremo nel grafico usando il parametro labels . In alternativa, possiamo usare plt.legend() per aggiungere una legenda separata.

Come al solito, non dimenticare di eseguire plt.show() alla fine del codice per visualizzare correttamente il grafico di Matplotlib.

import pandas as pd
import matplotlib.pyplot as plt

courses = [164, 127, 31, 31,12, 11]
labels = ['Python','R','SQL','Power BI','Excel','ChatGPT']
dictionary = {'courses':courses, 'labels':labels}
python_pie_chart_df = pd.DataFrame(dictionary)

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels)
plt.show()

grafico a torta di base in Python con legenda

plt.pie(x = python_pie_chart_df.courses)
plt.legend(labels = python_pie_chart_df.labels, loc = [0.95,0.35])
plt.show()

grafico a torta di base in Python

Inoltre, possiamo includere la percentuale di ciascuna fetta usando il parametro autopct. Nell’esempio seguente includiamo la dimensione delle fette con una cifra decimale.

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, autopct='%1.1f%%') 
plt.show()

grafico a torta in Python con etichette

Come personalizzare il grafico

I grafici a torta in Matplotlib, così come le loro singole fette, sono altamente personalizzabili. Vediamo alcune opzioni offerte dalla funzione pie.plot(). 

Per cambiare il colore delle fette possiamo usare il parametro colors. Lo useremo per applicare al nostro grafico la palette di colori di DataCamp. 

datacamp_palette = ['#03ef62','#06bdfc','#ff6ea9','#ff931e','#ff5400','#7933ff']
plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, colors = datacamp_palette, autopct='%1.1f%%')
plt.show()

grafico a torta in Python con palette di colori personalizzata

Decisamente meglio, giusto? Ma possiamo fare molto di più per personalizzare il nostro grafico a torta. Per esempio, possiamo regolare la distanza delle etichette e delle percentuali usando rispettivamente i parametri labeldistance e pctdistance, e scegliere un angolo di partenza del taglio con il parametro startangle.

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, colors = datacamp_palette, autopct='%1.1f%%', 
pctdistance= 0.8, labeldistance=1.1, startangle=180)

plt.show()

Infine, immagina di dover fare una presentazione e voler mettere in evidenza i corsi su R. Un modo pratico per farlo è “esplodere” quella fetta usando il parametro explode, come segue:

explode = (0, 0.1, 0, 0, 0, 0)  # only "explode" the 2nd slice (i.e. 'R')

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, 
        colors = datacamp_palette, autopct='%1.1f%%', 
        pctdistance= 0.8, labeldistance=1.1, 
        startangle=180, explode=explode)

plt.show()

Come salvare il grafico

Dopo aver creato il tuo grafico a torta, sei pronto a condividerlo con i collaboratori. Puoi farlo usando la funzione plt.savefig() , che prende come input il nome del file e permette di salvarlo in diversi formati, come .png, .jpg, .svg o .pdf. Inoltre, puoi usare dpi per cambiare la risoluzione dell’immagine. 

Ecco un esempio di come salvare il grafico a torta in formato .jpg con 200 punti per pollice.

plt.pie(x = df.courses, labels = df.labels, 
        colors = datacamp_palette, autopct='%1.1f%%', 
        pctdistance= 0.8, labeldistance=1.1, 
        startangle=180, explode=explode)

plt.savefig('demo.jpg', dpi =200)

Puoi scoprire di più su come salvare correttamente le visualizzazioni nel nostro corso Introduction to Data Visualization with Matplotlib.

Metodo 2: Grafici a torta con Pandas

Ora che sai come creare un grafico a torta con Matplotlib, vediamo come funziona in Pandas.

Come creare il grafico

Pandas ha un metodo plot() che può essere usato per disegnare diversi tipi di grafici. Questo metodo funziona sia sugli oggetti DataFrame sia su quelli Series in Pandas. L’argomento kind nel metodo plot() ti aiuta a specificare il tipo di grafico. Nel nostro caso, puoi creare un grafico a torta usando kind ='pie'. Puoi anche aggiungere il parametro labels per includere un nome in ogni fetta e il parametro autopct per aggiungere le percentuali di ciascuna fetta.

python_pie_chart_df['courses'].plot(kind='pie', labels=python_pie_chart_df['labels'], autopct='%1.1f%%')
plt.show()

Come personalizzare il grafico

Il metodo plot() di Pandas è uno strumento per grafici rapidi, ma con opzioni di personalizzazione limitate. Fortunatamente, il metodo usa Matplotlib come backend, il che significa che puoi usare la sintassi di Matplotlib al di fuori del metodo per personalizzare la visualizzazione. Qui sotto trovi un esempio di come combinare Pandas e Matplotlib.

ax= python_pie_chart_df['courses'].plot(kind='pie', labels=python_pie_chart_df['labels'], autopct='%1.1f%%', 
                       colors=datacamp_palette, figsize=(5,5))

ax.set_title('Pie Chart DatataCamp Courses')
ax.set_ylabel(None)

plt.show()

Come salvare il grafico

Salvare grafici a torta in Pandas è esattamente come in Matplotlib, dato che Pandas si basa su Matplotlib.

ax= python_pie_chart_df['courses'].plot(kind='pie', labels=python_pie_chart_df['labels'], autopct='%1.1f%%', 
                       colors=datacamp_palette, figsize=(5,5))

ax.set_title('Pie Chart DatataCamp Courses')
ax.set_ylabel(None)

plt.savefig('demo.png')

Risoluzione dei problemi con i grafici a torta

Per assicurarti che i tuoi grafici a torta vengano visualizzati correttamente, devi fornire a Matplotlib i dati giusti. Ciò significa applicare sempre tecniche di pulizia dei dati nel tuo dataframe, come eliminare i valori nulli con pd.dropna() e impostare i tipi di dato corretti per le colonne di input.

Inoltre, la personalizzazione è fondamentale per mostrare un grafico a torta efficace e incisivo. Tieni però presente che, se usi Pandas, personalizzazioni avanzate come l’explode potrebbero non essere supportate. Come già accennato, se hai bisogno di più controllo sul tuo grafico a torta, potresti dover aggiungere codice Matplotlib agli script.

Migliorare accessibilità e usabilità

Quando presenti i tuoi grafici a torta, attieniti alle buone pratiche.

  • Conosci il tuo pubblico: Come regola d’oro, empatizza sempre con il pubblico a cui è rivolta la visualizzazione. Significa avere una buona comprensione dell’area di competenza, del livello di conoscenze tecniche e degli interessi del tuo pubblico. 
  • Elimina il superfluo: Per evitare visualizzazioni affollate e illeggibili, chiediti se ciò che stai includendo è rilevante per il pubblico e rimuovi il più possibile gli elementi non necessari. Nel caso dei grafici a torta, evita effetti 3D o ombre, che possono ostacolare l’interpretazione. 
  • Attenzione ai font: Anche se può essere allettante usare font e dimensioni diverse, in generale limita la scelta a un solo font e non più di tre dimensioni. Segui la gerarchia tipografica mantenendo i titoli più grandi del corpo del testo e usa il grassetto per evidenziare elementi chiave e intestazioni. 
  • Usa i colori con criterio: Il colore è uno degli aspetti più accattivanti di qualsiasi visualizzazione. Dedica quindi attenzione alla scelta della palette: mantieni coerenza tra le tue visualizzazioni e usa il colore in modo sistematico per distinguere gruppi, livelli di importanza e diverse gerarchie informative.
  • Test su altri dispositivi: È sempre una buona idea testare i tuoi grafici per vedere come appaiono su dispositivi diversi.

La visualizzazione dei dati può essere considerata un’arte. Intuizione e buon gusto fanno la differenza, ma è importante considerare anche la teoria. Per saperne di più sulle buone pratiche per una visualizzazione efficace, dai un’occhiata al nostro Data Storytelling & Communication Cheat Sheet. Inoltre, se lavori con dashboard, vale la pena leggere questo articolo sulle best practice per progettare dashboard.

Alternative ai grafici a torta

A dirla tutta, i grafici a torta sono tra i più criticati. È dimostrato che gli esseri umani non sono molto bravi a interpretare gli angoli. Possiamo illustrarlo con il grafico a torta usato in precedenza. Considera le fette di Excel e ChatGPT. Riesci a dire a colpo d’occhio quale ha l’angolo più grande?

Probabilmente no, ed è per questo che molti esperti di data visualization consigliano di usare altri grafici per rappresentare le proporzioni, soprattutto quando le categorie sono molte, come i grafici a barre e quelli a barre impilate, i treemap o anche i grafici a ciambella. Puoi approfondire queste alternative nel nostro articolo Types of Data Plots and How to Create Them in Python.

Conclusione

Complimenti per essere arrivato alla fine del tutorial. Python è un linguaggio estremamente versatile, che offre diverse librerie e approcci per creare grafici a torta. In questo tutorial abbiamo analizzato come farlo con Matplotlib e Pandas. Entrambi sono ugualmente adatti allo scopo e presentano notevoli somiglianze. L’idea non è scegliere l’uno o l’altro, ma usarli in modo intercambiabile a seconda delle tue esigenze e del flusso di lavoro. 

Se vuoi saperne di più sui grafici a torta e, più in generale, sulla visualizzazione dei dati in Python, DataCamp può aiutarti. Scopri i nostri materiali dedicati e preparati a diventare un mago delle visualizzazioni!


Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Sono una data analyst freelance e collaboro con aziende e organizzazioni di tutto il mondo in progetti di data science. Sono anche un'insegnante di data science con oltre 2 anni di esperienza. Scrivo regolarmente articoli su temi legati alla data science in inglese e spagnolo, alcuni dei quali sono stati pubblicati su siti affermati come DataCamp, Towards Data Science e Analytics Vidhya. Come data scientist con un background in scienze politiche e diritto, il mio obiettivo è lavorare all'intersezione tra politiche pubbliche, diritto e tecnologia, sfruttando la forza delle idee per promuovere soluzioni e narrazioni innovative che ci aiutino ad affrontare le sfide urgenti, in primis la crisi climatica. Mi considero autodidatta, una persona in continuo apprendimento e una convinta sostenitrice dell'approccio multidisciplinare. Non è mai troppo tardi per imparare cose nuove.

FAQ

Che cos’è un grafico a torta e quando dovrei usarlo?

Un grafico a torta è un tipo di grafico in cui un cerchio è suddiviso in settori, ognuno dei quali rappresenta una proporzione del totale. È quindi adatto a rappresentare proporzioni.

Come posso creare un grafico a torta in Matplotlib?

Il modo più semplice per creare un grafico a torta con Matplotlib è la funzione plt.pie(), che include vari parametri di personalizzazione.

Come posso creare un grafico a torta in Pandas?

Il modo più semplice per creare un grafico a torta con Pandas è il metodo Series.plot.(kind=’pie’). Consente una visualizzazione rapida sui DataFrame di Pandas ma offre opzioni di personalizzazione limitate rispetto a Matplotlib.

Quali sono le best practice per creare grafici a torta?

Dovresti sempre seguire le best practice per creare le tue visualizzazioni. Ciò include mantenere i grafici a torta il più semplici possibile, evitare elementi non necessari, scegliere palette di colori intuitive e adattare il grafico al tuo pubblico.

Quali sono le principali limitazioni dei grafici a torta?

Gli esseri umani non sono molto bravi a interpretare gli angoli, per questo molti esperti di visualizzazione consigliano di usare altri grafici per rappresentare le proporzioni, come i grafici a barre.

Argomenti
Python
Analisi dei dati

Impara con DataCamp

Corso

Comprendere la Data Science

2 ore
876.1K
Un'introduzione alla data science senza necessità di programmare.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro