Grafici statistici con python

Grafico Creato

Questo é il grafico di output del tutorial

Per creare grafici la cosa migliore é aprire un foglio di calcolo (possibilmente OpenOffice o meglio LibreOffice), inserire i dati e avviare la creazione guidata.

Peró potrebbe essere comodo inserire la creazione del grafico all’interno di una procedura automatica che raccoglie dati direttamente da un database e invia via mail i risultati corredati dal grafico. Inoltre io avevo bisogno di una soluzione che non utilizzasse servizi online (come ad esempio l’ottimo Google Charts con le sue API.

In queste condizioni la soluzione migliore é stato sfruttare una parte delle librerie Open Source di ReportLab.

Di seguito la funzione che crea il grafico:

def crea_grafico(nome, data, keys):
  #importiamo le librerie necessarie
  from reportlab.graphics.shapes import Drawing
  from reportlab.graphics.charts.barcharts import VerticalBarChart

  # d sará il foglio su cui andremo a disegnare il grafico
  d = Drawing(380, 280)

  # chart é il grafico, un tipico grafico a barre di dimensione 300x200 e spostato di 40 px dal bordo
  chart = VerticalBarChart()
  chart.width = 300
  chart.height = 200
  chart.x = 40
  chart.y = 40
  # inserisco i dati e le etichette sul grafico
  chart.data =data
  chart.categoryAxis.categoryNames = keys

  chart.valueAxis.valueMin = 0
  # inserisco il grafico nel disegno
  d.add(chart)
  # e lo salvo in un file.
  d.save(fnRoot='miografico_%s' %nome, formats=['png'])

La funzione che crea il grafico é molto semplice… Adeso utilizziamola…

keys = ["Lunedi", "Martedi", "Mercoledi", "Giovedi" , "Venerdi", "Sabato", "Domenica" ]
data = [[1,1,2,1,5,7,1],[4,5,1,7,10,6,0]]
crea_grafico("Settimana1", data, keys)
Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: