在matplotlib上慢画

时间:2016-04-23 15:32:51

标签: python matplotlib arduino

我正在尝试从Arduino中获取数据,并使用matplotlib librarie绘制它。我完成了这个(获取数据)并绘制它。

绘图时出现问题。知道我用来发送数据的奈奎斯特频率约为20 [kHz],这太慢了。

这是我的代码:

class ViewWidget(QMainWindow):

  live_data = []
  cnt = 0

  def __init__(self):
    QMainWindow.__init__(self)

    self.figure_canvas = FigureCanvas(Figure())
    layout.addWidget(self.figure_canvas, 10)

    self.axes = self.figure_canvas.figure.add_subplot(111)

    self.x = ViewWidget.live_data

  def seeData(self):
    arduinoData = serial.Serial("com4", 9600)

    while True:
        if arduinoData.inWaiting()>0:
            arduinoString = arduinoData.read(arduinoData.inWaiting())
            ardString = map(ord, arduinoString)
            for number in ardString:
                numb = float(number/77.57)
                ViewWidget.live_data.append(numb)                       
                drawnow(self.makeFig)
        else:
            print "There is no data"

  def makeFig(self):
    self.axes.plot(self.x, picker = 5)
    self.figure_canvas.draw()

我错过了什么吗?我该怎么做才能画“更快”。希望你能帮帮我。

0 个答案:

没有答案