In [1]:
import pyqtgraph as pg
from pyqtgraph.Qt import QtGui, QtCore
import time
import numpy as np
import sys

In [2]:
app = QtGui.QApplication(sys.argv)
pg.QtGui.QApplication.quitOnLastWindowClosed = True
win = pg.GraphicsWindow(title="Title")
colors=['r', 'g', 'b', 'c', 'm', 'y']
curves=[]r

In [3]:
rvis = win.addPlot(title="Luminosity")
rvis.setRange(yRange=(0,1))
for i in range(6):
    curves.append(rvis.plot(pen=colors[i]))

In [4]:
# plots=[]
# for i in range(6):
#     nplot=win.addPlot(title="Luminosity{0}".format(i) )
#     win.nextRow()
#     plots.append(nplot)
#     curves.append(nplot.plot(pen=colors[i], fillLevel=True, fillBrush=colors[i]))

In [5]:
bufflen=200
buffs=[]
for i in range(6):
    buffs.append(np.zeros(bufflen))

In [ ]:
import time
from pyfirmata import Arduino, util
import pyfirmata
board = Arduino('/dev/ttyACM0')
it = util.Iterator(board)
it.start()
for an in board.analog:
    an.enable_reporting()
def readan(an):
    return 1.0-an.read()

In [ ]:
while True:
    pg.QtGui.QApplication.processEvents()
    readings=map(readan, board.analog)
    for i in range(6):
        buffs[i] = np.roll(buffs[i], -1)
        buffs[i][bufflen-1] = readings[i]
    for i in range(6):
        curves[i].setData(buffs[i])
#     for c in curves:
#         c.setData(np.random.randn(10))
    time.sleep(.005)

In [ ]:
pg.QtGui.QApplication.processEvents()
for c in curves:
    c.setData(np.random.randn(10))

In [ ]: