【发布时间】:2020-12-20 22:11:40
【问题描述】:
我想通过按钮在 Tkinter 中生成 Matplotlib 图。该按钮应该启动数据收集例程(最终从串行端口),并且在收集过程完成后绘制数据。下面的代码经过简化,只包含一些虚拟数据。我的问题是按下“绘图”按钮时没有出现图表。
import tkinter
from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg)
from matplotlib.figure import Figure
window = tkinter.Tk()
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(1, 1, 1)
canvas = FigureCanvasTkAgg(fig, master=window)
canvas.draw()
def plotData(ax):
xs = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ax.clear()
ax.plot(xs, ys)
CloseButton = tkinter.Button(master=window, text="Close", command=window.destroy)
PlotButton = tkinter.Button(master=window, text = "Plot", command = lambda: plotData(ax))
CloseButton.pack(side=tkinter.LEFT, padx = 10, pady = 10)
PlotButton.pack(side=tkinter.LEFT, padx = 10, pady = 10)
canvas.get_tk_widget().pack(side=tkinter.RIGHT, fill=tkinter.BOTH, expand=1)
tkinter.mainloop()
【问题讨论】:
标签: python python-3.x matplotlib tkinter