Самый легкий способ печати потоковых данных в python

Чтобы дать вам представление о том, что я ищу, это выглядит как this:

До сих пор я использовал matplotlib для всех моих графиков, а время не было критическим (это было сделано при постобработке).

Мне интересно, есть ли более легкий способ построения, кроме переноса моих данных влево и перерисовки всего сюжета.

Ответ 1

Посмотрите Примеры анимации Matplotlib. Основной трюк состоит в том, чтобы не полностью перерисовать график, а использовать интерфейс OO matplotlib и установить x/ydata линии сюжета, которую вы создали. Если вы интегрировали свой сюжет с некоторым графическим интерфейсом, например GTK, то определенно сделайте это, как это предлагается в соответствующем разделе графика, иначе вы можете помешать циклу событий вашего инструментария GUI.

Для справки, если ссылка когда-либо умирает:

from pylab import *
import time

ion()

tstart = time.time()               # for profiling
x = arange(0,2*pi,0.01)            # x-array
line, = plot(x,sin(x))
for i in arange(1,200):
    line.set_ydata(sin(x+i/10.0))  # update the data
    draw()                         # redraw the canvas

print 'FPS:' , 200/(time.time()-tstart)

Ответ 2

В python wiki есть список предложений с короткими описаниями: ссылка.