2010-07-28 12 views
6

Sto lavorando su un'applicazione Python che prevede l'esecuzione di analisi di regressione su dati live e la creazione di grafici di entrambi. Cioè, l'applicazione viene alimentata con dati in tempo reale e i modelli di regressione ricalcolano man mano che i dati vengono aggiornati. Si noti che voglio tracciare sia l'input (i dati) che l'output (l'analisi di regressione) nello stesso grafico.Buon framework per la creazione di grafici live in Python?

In precedenza ho lavorato con Matplotlib. È la migliore struttura per questo? Sembra essere abbastanza statico, non riesco a trovare nessun buon esempio simile al mio sopra. Sembra anche piuttosto gonfio per me. Le prestazioni sono fondamentali, quindi se esiste un framework di pitone veloce con un ingombro ridotto, sono tutto orecchie ...

risposta

4

Ho fatto un bel po 'di grafica animata con matplotlib - mi è sempre servito un po' di discussioni per farlo funzionare.

Ecco un bell'esempio però:

http://matplotlib.sourceforge.net/examples/animation/simple_anim_gtk.html

+0

Quindi il modo per creare un grafico dal vivo in Matplotlib è quello di creare una carta animata? Puoi ottenere una buona prestazione da questo? – c00kiemonster

+0

in sostanza, sì. L'hai appena impostato per disegnare quando ricevi nuovi dati. Immagino che dipenda dalla tua definizione di buona performance ... –

1

Non ho lavorato con Matplotlib ma ho sempre trovato gnuplot adatto a tutti i miei bisogno di grafici. Hai la possibilità di chiamare gnuplot da python o usando gnuplot.py (gnuplot-py.sourceforge.net) per interfacciare gnuplot.

1

È possibile utilizzare OpenFlash Chart che wil darvi una bella uscita. Non devi avere flash (funziona su Flex) e c'è un python library di scrivere le classifiche in un bel modo divinatorio:

def test_radar_charts_3(): 
    chart = open_flash_chart() 
    chart.title = title(text='Radar Chart') 

    val1 = [30,50,60,70,80,90,100,115,130,115,100,90,80,70,60,50] 
    spokes = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'] 
    val2 = [] 

    for i in val1:         
     txt = "#val#<br>Spoke: %s" % i 
     tmp = dot_value(value=i, colour='#D41E47', tip=txt) 
     val2.append(tmp) 

    line = line_hollow() 
    line.values = val2 
    line.halo_size = 0 
    line.width = 2 
    line.dot_size = 6 
    line.colour = '#FBB829' 
    line.text = 'Hearts' 
    line.font_size = 10 
    line.loop = True 
    chart.add_element(line) 
    r = radar_axis(max=150) 
    r.step = 10 
    r.colour = '#DAD5E0' 
    r.grid_colour = '#EFEFEF' 
    chart.radar_axis = r 
    tip = tooltip(proximity=1) 
    chart.tooltip = tip 
    chart.bg_colour = '#FFFFFF' 
    return chart 
+0

per favore correggi l'identità –

+0

Questo non sembra che sia un grafico in diretta ... – Dan

Problemi correlati