matplotlib不会使用按钮实现进行绘图

时间:2018-01-06 00:45:00

标签: python matplotlib

以下是多线程程序的一部分。全局变量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)

工作(没有按钮) enter image description here

不工作(带按钮) enter image description here

0 个答案:

没有答案