我有一个python脚本,它读入一个数据文件并使用matplotlib库显示一个带有四个图的图。数据文件每隔几秒更新一次,因为它是一个同时运行的不同软件的输出文件。我希望我的matplotlib图中的四个地块每20秒使用更新后的数据文件进行刷新。我实现了这一问题的方法如下:如何在数据文件更改时动态更新我的matplotlib图形?
import pylab as pl
import time
pl.ion()
fig = pl.figure()
while True:
f = open('data.out', 'rb')
#code to parse data and plot four charts
ax = fig.add_subplot(2,2,1)
#...
ax = fig.add_subplot(2,2,4)
#...
pl.draw()
time.sleep(20)
这工作,但我失去了缩放和平移按钮的功能,如果pl.show()被调用它正常工作。这不是最佳的。但是,如果将pl.show()替换为pl.draw(),则脚本不再更新图。有没有办法动态更新一个绘图而不会完全失去缩放/平移功能?