Trama scientifica in Python
-
03-07-2019 - |
Domanda
Ho un ampio set di dati di tuple contenenti (ora dell'evento, latitudine, longitudine) che devo visualizzare. Speravo di generare una trama xy simile a un film, ma mi chiedevo se qualcuno avesse un'idea migliore o se ci fosse un modo semplice per farlo in Python?
Grazie in anticipo per l'aiuto, --Leo
Soluzione
get matplotlib
Altri suggerimenti
L'opzione più semplice è matplotlib. Due soluzioni particolari che potrebbero funzionare per te sono:
1) È possibile generare una serie di grafici, ciascuno uno snapshot in un determinato momento. Questi possono essere visualizzati come un grafico dinamico in matplotlib, in cui gli assi rimangono gli stessi e i dati si spostano; oppure puoi salvare la serie di grafici in file separati e successivamente combinarli per creare un filmato (usando un'applicazione separata). C'è un numero di esempi negli esempi ufficiali per fare queste cose.
2) Un semplice diagramma a dispersione, in cui i colori dei cerchi cambiano nel tempo potrebbero funzionare bene per i tuoi dati. Questo è semplicissimo. Vedi this , ad esempio, che produce questa figura alt text http://matplotlib.sourceforge.net/plot_directive/mpl_ pylab_examples / ellipse_collection.hires.png
Proverei rpy. Tutta la potenza di R, dall'interno di Python. http://rpy.sourceforge.net/
rpy è fantastico.
Dai un'occhiata alla libreria CRAN per le animazioni, http://cran.r-project.org/web/packages/ animazione / index.html
Ovviamente, devi imparare un po 'su R per fare questo, ma se stai pianificando di fare questo tipo di cose regolarmente in futuro, varrà la pena dedicare del tempo a imparare.
Se sei interessato alla trama scientifica usando Python, dai un'occhiata a Mlab: http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/mlab.html
Ti permette di tracciare 2d / 3d e animare i tuoi dati e la qualità dei grafici è davvero alta.
Chaco di Enthought è progettato per grafici interattivi / di aggiornamento. l'API e simili richiede un po 'di tempo per abituarsi, ma una volta che sei lì è un fantastico framework con cui lavorare.
Ho avuto un discreto successo con le applicazioni Python che hanno generato SVG con funzioni di animazione incorporate, ma questo è avvenuto con un insieme di elementi più piccolo di quello che probabilmente hai. Ad esempio, se i tuoi dati riguardano un evento sismico, mostra un cerchio che viene visualizzato quando si è verificato l'evento e aumenta di dimensioni in base all'entità dell'evento. Un indicatore mobile su una sequenza temporale è davvero semplice da aggiungere.
Kaleidoscope (Opera, altri forse, Safari no) mostra molti pezzi in movimento e ho trovato fonte di ispirazione. Molti altri buoni contenuti tutorial SVG sul sito.
Potresti voler guardare PyQwt . È una libreria di stampa che funziona con Qt / PyQt.
Diversi esempi di PyQwt (nella directory qt4examples) mostrano come creare " spostando " / che cambiano dinamicamente i grafici - guarda CPUplot.py
, MapDemo.py
, DataDemo.py
.