Tkinter не отображает анимированный Matplotlib - PullRequest
0 голосов
/ 09 мая 2020

Я хочу показать этот график реального времени matplotlib в tkinter GUI График реального времени

import tkinter as tk
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib import style
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

root= tk.Tk()

style.use('fivethirtyeight')

fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)

def animate(i):
    graph = open('data.txt','r').read()
    lines = graph.split('\n')
    xs = []
    ys = []
    zs = []
    for line in lines:
        if len(line) > 1:
            x, y, z = line.split(',')
            xs.append(float(x))
            ys.append(float(y))
            zs.append(float(z))
    ax1.clear()
    ax1.plot(xs, ys, zs)

anim = animation.FuncAnimation(fig, animate, interval=1000)

app = (fig, root)
root.mainloop()

Я пробовал код выше, но GUI не Я ничего не показываю. Что я могу сделать, чтобы показать этот график в реальном времени?

1 Ответ

0 голосов
/ 09 мая 2020

Простите, я плохо. Я обновил свой код в этой строке:

fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)

В этой строке:

fig = plt.figure(figsize=(5,4), dpi=100)
ax1 = fig.add_subplot(111)
line2 = FigureCanvasTkAgg(fig, root)
line2.get_tk_widget().pack(side=tk.LEFT, fill=tk.BOTH)

Я получил свой ответ сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...