4
我正在尋找類似於FuncAnimation與blit的東西,但不是讓庫在一個固定的時間步調用一個函數,而是我希望在我準備好時調用該函數。我不明白matplotlib用函數返回的軸來做什麼來更新它們。我正在處理來自外部來源的實時數據,我希望刷新率與該數據同步。matplotlib中的FuncAnimation的手動時間循環控制
我正在尋找類似於FuncAnimation與blit的東西,但不是讓庫在一個固定的時間步調用一個函數,而是我希望在我準備好時調用該函數。我不明白matplotlib用函數返回的軸來做什麼來更新它們。我正在處理來自外部來源的實時數據,我希望刷新率與該數據同步。matplotlib中的FuncAnimation的手動時間循環控制
我已經做了這樣的事情
import sys
import os
import random
from PySide import QtGui,QtCore
os.environ['QT_API'] = 'pyside'
from matplotlib import use
use('Qt4Agg')
import pylab as plt
class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()
self.setWindowTitle('Widgets')
self.setGeometry(300, 300, 250, 150)
self.wid = QtGui.QWidget()
self.grid = QtGui.QGridLayout()
self.wid.setLayout(self.grid)
self.setCentralWidget(self.wid)
self.dat = []
self.timer = QtCore.QTimer()
self.timer.timeout.connect(self.toc)
self.timer.start(100)
self.show()
self.fig = plt.figure(13)
plt.show()
def toc(self):
val = random.uniform(-1.7, 0.78)
self.dat.append(val)
plt.ion()
fig = plt.figure(13)
plt.clf()
plt.plot(self.dat)
plt.ioff()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
您可能需要使用沿着這個問題,而不是使用FuncAnimation本身的東西線:http://stackoverflow.com/questions/10944621/dynamically-updating -plot功能於matplotlib – Ajean