主要变化:
- 使用matplolib.figure而不是matplotlib.pyplot(并重命名所有相关函数)
- 添加一个self.window变量
- 到处都使用pack()(不能将网格混合并打包在一个容器中。)
结果:
__author__ = 'Dania'import matplotlibmatplotlib.use('TkAgg')import numpy as npfrom matplotlib.backends.backend_tkagg import FigureCanvasTkAggfrom matplotlib.figure import Figurefrom Tkinter import *class mclass: def __init__(self, window): self.window = 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= np.array ([16.23697, 17.31653, 17.22094, 17.68631, 17.73641 , 18.6368, 19.32125, 19.31756 , 21.20247 , 22.41444 , 22.11718 , 22.12453]) fig = Figure(figsize=(6,6)) a = fig.add_subplot(111) a.scatter(v,x,color='red') a.plot(p, range(2 +max(x)),color='blue') a.invert_yaxis() a.set_title ("Estimation Grid", fontsize=16) a.set_ylabel("Y", fontsize=14) a.set_xlabel("X", fontsize=14) canvas = FigureCanvasTkAgg(fig, master=self.window) canvas.get_tk_widget().pack() canvas.draw()window= Tk()start= mclass (window)window.mainloop()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)