我有一个处理数据然后绘制结果的程序 . 通常在Python中,图表显示在一个新窗口中,但我想在同一个Tkinter窗口中显示该图 . 我搜索并找到了这两个答案,Python Tkinter Embed Matplotlib in GUI和How do I refresh a matplotlib plot in a Tkinter window? . 他们说我们应该首先制作一个画布,然后使用网格或包装将它放在窗口上 . 这是我第一次使用canvas,我已经应用了这个概念,这里有一个工作示例代码,
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
__author__ = 'Dania'
import numpy as np
from Tkinter import *
import matplotlib.pyplot as plt
class mclass:
def __init__(self, window):
self.box = Entry(window)
self.button = Button (window, text="check", command=self.plot)
self.box.pack ()
self.button.pack()
def plot (self):
x=np.array ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
v= np.array ([16,16.31925,17.6394,16.003,17.2861,17.3131,19.1259,18.9694,22.0003,22.81226])
p= n