Python实时更新图,包含多个(可配置的)图形和多个(可配置的)子图

时间:2016-06-07 02:15:21

标签: python matplotlib jquery-animate

我基本上试图在每个图上创建可配置数量的数字和可配置数量的子图。然后每分钟检索一次数据并更新这些图。

如果我做plot.show(),那么情节会出现,并且在执行任何其他代码行之前似乎等待数字关闭。所以我不能告诉它等一下再重新绘制。

如果我使用fig.show()它会出现并且关闭太快。

所以我对如何正确地执行此操作感到茫然,我有一个打开一分钟左右的情节(想要配置),然后更新。并且需要针对可配置数量的数字和子图进行处理。

我一直在pyplot工作,并一直试图定义一个二维线对象数组。但我认为我的方式错误,因为我真正想做的就是每分钟左右重新绘制一次数据。

以下是我正在处理的更多细节:

1)我的zip文件中填充了实时更新的xml数据(每分钟xml数据被添加到当天的zip文件中 2)我想找到某些xml数据并只将新数据写入sqlite DB 3)在sqlite DB中查找数据并绘制它的图。 4)数字的数量需要是可配置的(目前是1或2,但将来可能更多),每个数字上的子图数量也应该是可配置的。 5)实时查找新数据并重新绘制或动画。

1 - 4完全完成,我可以在指定的时间段内绘制数据......只是不重新绘制它。

希望这是有道理的。提前致谢。

1 个答案:

答案 0 :(得分:2)

您的设计因为您尝试在一个线程中执行2个任务而陷入困境:显示GUI并更新其背景数据。 python中的GUI需要整个线程自行运行,这就是您的程序停止的原因,或者当您调用此函数时“阻止”继续运行。您需要做的是使用matplotlib的“非阻止”功能来允许您的程序更新。 This similar Stack Overflow question提供了几个答案,解释了如何使用非阻塞图的概念。