【问题标题】:Python real-time updating plot with multiple (configurable) figures and multiple (configurable) subplots具有多个(可配置)图形和多个(可配置)子图的 Python 实时更新图
【发布时间】:2016-06-07 10:55:17
【问题描述】:

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

如果我执行 plot.show() 绘图会出现并且似乎在执行任何其他代码行之前等待数字关闭。所以我不能只是告诉它等一下然后重新绘制。

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

所以我不知道如何正确地做到这一点,因为我有一个保持打开一分钟左右的情节(也想配置)然后更新。并且需要针对可配置数量的图形和子图来完成。

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

这里有更多关于我正在做的事情的细节:

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

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

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

【问题讨论】:

    标签: python matplotlib jquery-animate


    【解决方案1】:

    您的设计卡住了,因为您试图在 1 个线程中执行 2 个任务:显示 GUI,并为其更新背景数据。 python 中的 GUI 需要一个完整的线程来运行自己,这就是为什么你的程序停止,或者当你调用这个函数时“blocks”继续。你需要做的是使用 matplotlib 的“non-blocking”特性来让你的程序更新。 This similar Stack Overflow question 提供了几个答案来解释如何使用非阻塞图的概念。

    【讨论】:

      猜你喜欢
      • 2018-09-28
      • 1970-01-01
      • 2020-08-29
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 1970-01-01
      相关资源
      最近更新 更多