Python анимация Tkinter Matplot зависает GUI - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь использовать plt animate для построения графика в реальном времени из данных Arduino. Так что я использую его с tkinter, поэтому у меня есть GUI. Но каждый раз, когда я нажимаю кнопку, чтобы открыть окно графика, все остальное зависает, даже когда я закрываю окно рисунка, GUI не отвечает. И я думаю, потому что анимация всегда циклична. Так есть ли способ остановить цикл, когда я закрываю окно рисунка?

Также после i pu sh кнопка, вызывающая функцию grphtest, кнопка всегда нажимается, вот где у меня есть подозрения, что она всегда работает Изображение кнопки gui всегда нажимается вниз

def grphtest():

  fig = plt.figure(figsize=(5, 4), dpi=200)
  ax = fig.add_subplot(1, 1, 1)
  xs = []
  ys = []

  def animate(i, xs, ys):

     temp = float(serialArduino.readline()) 
     print(temp)

     xs.append(dt.datetime.now().strftime('%H:%M:%S')) 
     ys.append(temp)                                           

     ax.clear()
     ax.plot(xs, ys)

     plt.xticks(rotation=45, ha='right')
     plt.subplots_adjust(bottom=0.30)
     plt.title('Time')
     plt.ylabel('Degree C')

ani= animation.FuncAnimation(fig, animate, fargs=(xs, ys), interval=5000)
plt.show(ani)
...