giovedì 5 novembre 2015

Creare un grafico animato con Python/Matplotlib

In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' costituito da dati di Latitudine e Longitudine misurati da un Gps e delimitati da punto e virgola)

Questo sistema puo' essere puo' essere utile per verificare la presenza di un pattern all'interno dei dati




il codice e' auto esplicativo. Tramite Numpy si carica il file csv e lo si trasforma in una matrice a due colonne e poi si passa a Matplotlib (devono essere indicati il numero di dati, ovvero 86, l'intervallo di visualizzazione tra un punto ed il successivo,50, e le dimensioni della finestra di visualizzazione)

------------------------------------------------------
import csv
import numpy
import matplotlib.pyplot as plt
import matplotlib.animation as animation

def update_line(num, data, line):
    line.set_data(data[..., :num])
    return line,

test = numpy.loadtxt(open("tetto2.csv","rb"),delimiter=";",unpack=True)

fig1 = plt.figure()

l, = plt.plot([], [], 'r-')
plt.xlim(438334400, 438336000)
plt.ylim(113104800, 113105400)

line_ani = animation.FuncAnimation(fig1, update_line, 86, fargs=(test, l),interval=50, blit=True)
line_ani.save('gps.avi')
plt.show()
------------------------------------------------------
Attenzione : questo sistema crea un file temporaneo png per ogni fotogramma quindi animazioni molto lunghe possono creare una significativa occupazione di spazio disco 

Nessun commento:

Posta un commento

Physics informed neural network Fukuzono

Visto che puro ML non funziona per le serie tempo di cui mi sto occupando ed le regressioni basate su formule analitiche mostrano dei limiti...