Disegnare grafici in Python con Matplotlib

example

Per disegnare grafici in Python esiste la comodissima libreria MatPlotLib (qui la versione per windows), in particolare il suo modulo PyPlot. Permette di creare canvas su cui poi realizzare grafici, con una sintassi Matlab-like. Ad esempio, per creare un grafico a partire da due vettori di coordinate cartesiane è sufficiente questo codice:

import matplotlib.pyplot as plt

# impostazione font assi
plt.rc('xtick', labelsize=8)
plt.rc('ytick', labelsize=8)

# creazione canvas (le misure sono in pollici))
plt.figure(figsize=(4, 1.5))

# disegno grafico
plt.plot([1,2,3,4,5], [10,20,30,40,50])

# titolo grafico
plt.title("test")

# salvataggio su file
plt.savefig("example.png")

Una cosa molto interessante per un lavoro che sto facendo in questi giorni è la possibilità di inserire un grafico pyplot in una immagine PIL, passando per un buffer. Una cosa del genere:

# parto da una immagine PIL
x = .....
# disegno il grafico
plt....

# creo un buffer vuoto
buf = io.BytesIO()

# salvo il plot nel buffer
plt.savefig(buf, format = 'png')

# "riavvolgo" il buffer
buf.seek(0)

# apro l'immagine nel buffer come immagine PIL
im = PILImage.open(buf)

# inserisco il grafico nell'immagine di partenza
# alle coordinate 600, 10 pixel
x.paste(im, (600,10))

# elimino il buffer
buf.close()
Questa voce è stata pubblicata in Uncategorized e contrassegnata con , , , . Contrassegna il permalink.

Lascia un commento

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...