【发布时间】:2021-10-07 08:07:54
【问题描述】:
我在网上搜索了在 tkinter 窗口中创建实时 matplotlib 散点图,但发现大量不同的信息使其难以理解。例如,我有时看到一些人使用 matplotlib.pyplot,有时我会看到有些人使用 matplotlib.figure。我不知道这两个模块之间的真正区别是什么。
我创建了下面的示例代码,当我单击“Graph It”按钮时,我认为应该在 tkinter 根窗口内简单地创建一个 matplotlib 散点图。当我点击它时它什么也没做。最终目标是在 tkinter 中有一个散点图,每当从传感器读取新数据时它就会更新,但我开始很简单。还应该注意的是,这是我第一次接触 matplotlib,所以我可能忽略了一些微不足道的事情。任何帮助表示赞赏。
#Python 3.7.9#
import tkinter as tk
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg,NavigationToolbar2Tk)
import numpy as np
figure = Figure(figsize = (5,5), dpi = 100)
ax = figure.add_subplot(111)
def plot():
x = np.random.rand(1,10)
y = np.random.rand(1,10)
ax.scatter(x,y)
root = tk.Tk()
canvas = FigureCanvasTkAgg(figure, root)
canvas.draw()
canvas.get_tk_widget().pack(pady = 10)
toolbar = NavigationToolbar2Tk(canvas,root)
toolbar.update()
canvas.get_tk_widget().pack()
button = tk.Button(root, text = "Graph It", command = plot)
button.pack()
root.mainloop()
【问题讨论】:
标签: python numpy matplotlib tkinter plot