Python实时更新具有多个(可配置)图形和多个(可配置)子图的图

标签 python matplotlib jquery-animate

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

如果我执行plot.show(),绘图就会出现,并且似乎要等待图形关闭才能执行任何其他代码行。所以我不能只是让它等一下然后重新绘制。

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

因此,我不知道如何正确执行此操作,因为我有一个绘图保持打开状态一分钟左右(也想配置)然后更新。并且需要对可配置数量的图形和子图进行此操作。

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

以下是我正在从事的工作的更多详细信息:

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

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

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

最佳答案

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

关于Python实时更新具有多个(可配置)图形和多个(可配置)子图的图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37669484/

相关文章:

python matplotlib 表格无边框

javascript - $.animate() jQuery显示:table without affecting unspecified spatial dimensions

python - os.listdir 的模拟补丁不适用于单元测试

python - Matplotlib.pyplot : force exponential axis label notation

python - 深度复制后时间戳的 ruamel.yaml 格式似乎已损坏

python - title 和 axis 互相超越

javascript - jQuery 错误 : . ..easing... 不是函数

javascript - 在 jQuery .animate 中使用 Modernizr.prefixed

python - 为什么 Pydev 找不到 Django?

python - 读取 Pandas Dataframe 中的列值