2010-07-28 9 views
6

Estoy trabajando en una aplicación de Python que implica la ejecución de análisis de regresión en datos en vivo y el trazado de gráficos de ambos. Es decir, la aplicación se alimenta con datos en tiempo real y los modelos de regresión se vuelven a calcular a medida que se actualizan los datos. Tenga en cuenta que quiero graficar tanto la entrada (los datos) como la salida (el análisis de regresión) en el mismo gráfico.¿Buen marco para gráficos en vivo en Python?

He trabajado anteriormente con Matplotlib. ¿Es ese el mejor marco para esto? Parece ser bastante estático, no puedo encontrar ningún buen ejemplo similar al mío anterior. También me parece bastante hinchado. El rendimiento es clave, así que si hay un marco rápido de gráficos de python con una huella pequeña, soy todo oídos ...

Respuesta

4

He hecho un poco de gráficos animados con matplotlib - siempre me llevó un poco de discusión para que funcione.

Aquí es un buen ejemplo de que:

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

+0

Así que la manera de crear un gráfico en vivo en Matplotlib es crear una carta animada? ¿Puedes obtener un buen rendimiento de esto? – c00kiemonster

+0

básicamente, sí. Simplemente lo configura para dibujar cuando obtiene datos nuevos. Supongo que depende de tu definición de buen rendimiento ... –

1

No he trabajado con Matplotlib pero siempre he encontrado que gnuplot es adecuado para todos mis las necesidades de gráficos. Tiene la opción de llamar a gnuplot desde python o usar gnuplot.py (gnuplot-py.sourceforge.net) para conectarse a gnuplot.

1

Usted puede utilizar OpenFlash Chart que wil dar una muy buena salida. Usted no tiene que tener flash (que funciona en Flex) y hay una python library para anotar las listas en una bonita forma Pythonic:

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

arregla la identación –

+0

Esto no parece que lo haga en vivo ... – Dan

Cuestiones relacionadas