用python和wxWidget在rasberry pi上实时绘图

时间:2016-03-06 10:54:49

标签: python matplotlib plot raspberry-pi wxwidgets

伙计们,我试图在香蕉pi上绘制来自传感器的一些数据。 为了简化开发,我使用python和wxWidget。 为了绘制数据我使用matplotlib库。它在我的笔记本电脑上运行正常,但是当我在香蕉pi上启动它时,绘图速度非常慢。

def on_redraw_timer(self, event):
    print datetime.datetime.now()
    self.data.append(getCurrentValue())
    self.draw_plot()

此代码每100 ms执行一次,这就是它输出的内容

2016-03-06 10:51:47.530607
2016-03-06 10:51:47.880988
2016-03-06 10:51:48.211054
2016-03-06 10:51:48.538298
2016-03-06 10:51:48.864935
2016-03-06 10:51:49.190108
2016-03-06 10:51:49.514287
2016-03-06 10:51:49.851634
2016-03-06 10:51:50.178744
2016-03-06 10:51:50.503762

绘制图表需要300毫秒。这是不可接受的。是否可以加快绘图速度?或者我应该使用其他一些库吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为没有真正的方法来加快香蕉皮的速度。请记住,对于通常使用笔记本电脑的同一应用程序,您使用的CPU数量非常有限。我并不是说你不能在香蕉pi上运行GUI或者使用matplotlib,但100ms的重绘频率有点难度,正如你自己已经体验过的那样。特别是因为你运行一个操作系统(linux,我猜)和一个窗口管理器,它也会对RAM和CPU产生影响。

作为建议,您是否可以使用现有的python脚本来提取数据并使用gnuplot来显示它?这可以在那个频率上工作。甚至还有gnuplot python interface,但这很可能解决了300毫秒的绘图延迟问题。