我才使用 Python 几个星期。我使用 Matplotlib 绘制来自 Arduino 的数据没有任何问题。然而,该图显示为弹出窗口,我希望该图仅显示在我用 tkinter 制作的 GUI 根窗口的画布中。我尝试了多种组合,但无法使其发挥作用。如果我只是将绘图值添加到代码中,可以这样说:
a.plot([1, 2, 3, 4, 5], [2, 3, 4, 5, 6, 7])
Run Code Online (Sandbox Code Playgroud)
它工作得很好,所以我的主要问题是从 Arduino 获取数据时的 while 循环。我还尝试了drawow选项来更新绘图,但我得到了相同的确切结果。无论我做什么,我似乎都无法让情节停止显示为单独的窗口。
后面带有主 GUI 窗口的绘图窗口:
这是我正在使用的示例代码:
import serial
from tkinter import *
import numpy as np
from matplotlib import pyplot as plt
import matplotlib.animation as animation
from matplotlib import style
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
root = Tk()
root.geometry('1200x700+200+100')
root.title('This is my root window')
root.state('zoomed')
root.config(background='#fafafa')
yar = []
plt.ion()
style.use('ggplot')
fig = plt.figure(figsize=(14, 4.5), dpi=100) …Run Code Online (Sandbox Code Playgroud)