以下是多线程程序的一部分。全局变量adjustTargetAskHistory和TimeStampHistory从程序的另一部分更新,并且是扁平列表,分别出现在y轴和x轴上。回调允许图表每2秒更新一次。
我试图在图表上添加按钮的实现。函数buttonPush()实际运行并打印文本。但是,图表没有绘制。
def buttonPush(event):
print("Pushed the button!")
def plotGraph():
global adjustedTargetAskHistory
global TimeStampHistory
plt.ion()
fig = plt.figure()
axes = fig.add_subplot(111)
plt.xlabel('Time')
ax = plt.axes([0.0, 0.0, 0.2, 0.1])
bcut = Button(ax,'Update', color='red', hovercolor='green')
bcut.on_clicked(buttonPush)
axes.set_autoscale_on(True)
axes.autoscale_view(True,True,True)
adjustedTargetAskli, = plt.plot([], [], 'r-')
while True:
adjustedTargetAskli.set_data(TimeStampHistory,adjustedTargetAskHistory)
axes.relim()
axes.autoscale_view(True,True,True)
plt.pause(2)
问题似乎在于以下几行,因为情节将在没有它们的情况下无缝更新。
ax = plt.axes([0.0, 0.0, 0.2, 0.1])
bcut = Button(ax,'Update', color='red', hovercolor='green')
bcut.on_clicked(buttonPush)