2010-07-28 12 views
6

Pracuję nad aplikacją Python, która wymaga analizy regresji na danych na żywo i tworzenia wykresów. Oznacza to, że aplikacja otrzymuje dane na żywo, a modele regresji ponownie obliczają się w miarę aktualizowania danych. Proszę zauważyć, że chcę wykreślić zarówno dane wejściowe (dane), jak i dane wyjściowe (analizę regresji) na tym samym wykresie.Dobre ramy dla wykresów na żywo w Pythonie?

Zrobiłem wcześniej trochę pracy z Matplotlib. Czy to najlepsze ramy do tego? Wydaje się być dość statyczna, nie mogę znaleźć żadnych dobrych przykładów podobnych do moich powyżej. Wydaje mi się też, że jest dość rozdęty. Wydajność jest kluczowa, więc jeśli istnieje jakakolwiek szybka struktura wykresów Pythona tam z małą postacią, jestem wszystkimi uszami ...

Odpowiedz

4

Zrobiłem sporo animowanego wykresu z matplotlib - zawsze zabrało mi to trochę sprowokowania, żeby zadziałało.

Oto dobry przykład choć:

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

+0

więc sposobem utworzenia wykresu w matplotlib jest stworzenie animowany wykres? Czy możesz uzyskać dobre wyniki z tego? – c00kiemonster

+0

zasadniczo, tak. Po prostu ustawiasz go, aby rysować, gdy otrzymasz nowe dane. Domyślam się, że to zależy od twojej definicji dobrej wydajności ... –

1

Nie pracowałem z Matplotlib ale zawsze uważałem, że gnuplot jest odpowiedni dla wszystkich moich potrzeby wykresów. Masz możliwość wywołania gnuplot z Pythona lub użycie gnuplot.py (gnuplot-py.sourceforge.net) do interfejsu gnuplot.

1

Można użyć OpenFlash Chart który wil daje bardzo ładne wyjście. Nie trzeba mieć lampy błyskowej (działa na Flex) i jest python library zapisywać wykresy w ładnym pythonic sposób:

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

proszę poprawić identyfikację –

+0

Nie wygląda to tak, jak w przypadku wykresów na żywo ... – Dan

Powiązane problemy