![]() |
Quando si lavora da riga di comando, avere una visualizzazione immediata dei dati può fare una grande differenza. In questo contesto nasce termcharts, una libreria Python pensata per creare grafici direttamente nel terminale in modo semplice, veloce e intuitivo.
termcharts può essere vista come una semplificazione di termgraph (ne abbiamo parlato nell'articolo 📊 Visualizzare grafici nel terminale con termgraph usando Python): mantiene la filosofia della visualizzazione testuale, ma riduce drasticamente la complessità dell’API, rendendola di rapida comprensione e utilizzo, anche per chi non ha mai lavorato con grafici nel terminale.
Perché usare termcharts
I principali vantaggi della libreria sono:
- 📦 Nessuna dipendenza complessa
- ⚡ Setup immediato
- 🧠 API minimale e intuitiva
- 🖥️ Output leggibile direttamente nel terminale
- 🔄 Ideale per script, tool CLI e report rapidi
Non serve alcuna configurazione grafica: tutto viene renderizzato come testo ASCII.
Installazione
pip install termcharts
Dopo l’installazione, la libreria è pronta all’uso.
Import della libreria
import termcharts
Un singolo import è sufficiente: tutte le funzioni principali sono esposte direttamente dal modulo.
🍰 Grafico a torta (Pie Chart)
chart_pie = termcharts.pie(
{'Bugs': 30, 'Tasks': 60, 'Other': 10},
title='Activities'
)
print(chart_pie)
Spiegazione passo per passo
-
Dati
Vengono forniti come dizionariolabel → valore
Ogni chiave rappresenta una categoria -
Funzione
pie()
Crea un grafico a torta testuale
Calcola automaticamente le percentuali -
Parametro
title
Aggiunge un titolo al grafico per migliorare la leggibilità -
print(chart_pie)
Il grafico viene renderizzato solo quando stampato
Questo tipo di grafico è ideale per mostrare la distribuzione percentuale dei dati.
🍩 Grafico a ciambella (Doughnut Chart)
chart_doughnut = termcharts.doughnut(
{'High impact': 10, 'Medium impact': 20, 'Low impact': 30},
title='Priority tasks'
)
print(chart_doughnut)
Differenza rispetto al pie chart
Il doughnut chart è una variante del grafico a torta:
- Stessa logica di input
- Rappresentazione più compatta
- Più leggibile quando le categorie sono molte
Anche qui la semplicità è il punto di forza: basta cambiare funzione.
📊 Grafici a barre (Bar Charts)
Grafico a barre orizzontali
chart1 = termcharts.bar(
{'Task1': 54, 'Task2': 20, 'Task3': 30, 'Task4': 15, 'Task5': 5},
title='Status'
)
print(chart1)
Spiegazione
- Le chiavi del dizionario sono le etichette
- I valori determinano la lunghezza delle barre
- Il layout orizzontale è il default
Grafico a barre verticali
chart2 = termcharts.bar(
{'Task1': 54, 'Task2': 20, 'Task3': 30, 'Task4': 15, 'Task5': 5},
title='Status (vertical)',
mode='v'
)
print(chart2)
Qui entra in gioco il parametro:
mode='v'→ forza la visualizzazione verticale
Questo è particolarmente utile quando si vogliono confrontare valori in modo più “grafico”.
Grafico a barre da lista
chart3 = termcharts.bar(
[54, 20, 30, 15, 5],
title='Status (list)'
)
print(chart3)
In questo caso:
- I dati sono passati come lista
- Le etichette vengono generate automaticamente
- È perfetto per dataset semplici o temporanei
🎯 Tutti gli esempi in un solo script
Per avere una visione completa delle potenzialità di termcharts, è possibile raccogliere tutti gli esempi visti finora in un unico script Python.
Questo approccio è particolarmente utile per:
- testare rapidamente la libreria
- confrontare i diversi tipi di grafico
- generare un output completo da mostrare in documentazione o articoli
- aggiungere uno screenshot del risultato nel terminale
Di seguito lo script completo, così come può essere eseguito direttamente:
import termcharts
'''
=== PIE CHART ===
'''
chart_pie = termcharts.pie(
{'Bugs': 30, 'Tasks': 60, 'Other': 10},
title='Activities'
)
print(chart_pie)
'''
=== DOUGHNUT CHART ===
'''
chart_doughnut = termcharts.doughnut(
{'High impact': 10, 'Medium impact': 20, 'Low impact': 30},
title='Priority tasks'
)
print(chart_doughnut)
'''
=== BAR CHARTS ===
'''
chart1 = termcharts.bar(
{'Task1': 54, 'Task2': 20, 'Task3': 30, 'Task4': 15, 'Task5': 5},
title='Status'
)
chart2 = termcharts.bar(
{'Task1': 54, 'Task2': 20, 'Task3': 30, 'Task4': 15, 'Task5': 5},
title='Status (vertical)',
mode='v' # vertical
)
chart3 = termcharts.bar(
[54, 20, 30, 15, 5],
title='Status (list)' # from list
)
print(chart1)
print(chart2)
print(chart3)
Come utilizzare lo script
- Salva il codice in un file, ad esempio
termcharts_demo.py -
Eseguilo dal terminale:
python termcharts_demo.py -
L’output mostrerà, in sequenza:
- un pie chart
- un doughnut chart
- un bar chart orizzontale
- un bar chart verticale
- un bar chart generato da una lista
A questo punto è possibile catturare uno screenshot dell’output del terminale e inserirlo nell’articolo per mostrare visivamente il risultato finale.
Filosofia di termcharts
La vera forza di termcharts sta nella sua filosofia:
“Mostrare i dati nel modo più semplice possibile, senza costringere lo sviluppatore a imparare un’API complessa.”
Rispetto a termgraph, termcharts:
- ✅ Riduce il numero di parametri
- ✅ Nasconde la complessità interna
- ✅ Offre funzioni pronte all’uso
- ✖️ Il prezzo da pagare per questa semplicità, è la carenza di customizzazione (es. non puoi mostrare le label per i grafici a barre)
Quando usare termcharts
- Script di monitoraggio
- Tool CLI
- Debug rapido di dataset
- Report testuali
- Ambienti senza GUI
Conclusione
termcharts è una libreria piccola ma estremamente efficace: una semplificazione intelligente di termgraph che permette di creare grafici nel terminale in pochi secondi.
Se cerchi un modo rapido per visualizzare dati senza uscire dal terminale, termcharts è una scelta eccellente.
Follow me #techelopment
Official site: www.techelopment.it
facebook: Techelopment
instagram: @techelopment
X: techelopment
Bluesky: @techelopment
telegram: @techelopment_channel
whatsapp: Techelopment
youtube: @techelopment

