🍩 Rapida visualizzare di grafici nel terminale con termcharts in Python

  

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.

🔗 Ti piace Techelopment? Dai un'occhiata al sito per tutti i dettagli!

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

  1. Dati
    Vengono forniti come dizionario label → valore
    Ogni chiave rappresenta una categoria
  2. Funzione pie()
    Crea un grafico a torta testuale
    Calcola automaticamente le percentuali
  3. Parametro title
    Aggiunge un titolo al grafico per migliorare la leggibilità
  4. 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)


Output

Come utilizzare lo script

  1. Salva il codice in un file, ad esempio termcharts_demo.py
  2. Eseguilo dal terminale:
    python termcharts_demo.py
  3. 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