我已经搜索过这个,例如Python Tkinter Embed Matplotlib in GUI但仍然无法弄清楚。基本上,我正在尝试在由 tkinter 组成的播放器窗口内为篮球比赛的球员能力绘制精美的图表
self.fig = Figure(figsize=(1.5,1.5))
self.ax = self.fig.add_axes([0.025,0.025,0.95,0.95],polar=True)
self.plot_widget = FigureCanvasTkAgg(self.fig, master=self.top)
self.ax.grid(False)
N = 5
theta = np.arange(0.0, 2*np.pi, 2*np.pi/N)
radii = [self.thisPlayer.rebounds,self.thisPlayer.freeThrows,self.thisPlayer.steal,self.thisPlayer.underRim,self.thisPlayer.distance]
width = [2*np.pi/(N),2*np.pi/(N),2*np.pi/(N),2*np.pi/(N),2*np.pi/(N)]
bars = pl.bar(0 , 20,width=2*np.pi, linewidth = 0) + pl.bar(theta, radii, width=width, bottom=0.2)
for r,bar in zip(radii, bars):
bar.set_facecolor( cm.jet(r/20.))
bar.set_alpha(0.5)
self.ax.set_xticklabels([])
self.ax.set_yticklabels([])
self.plot_widget.show()
self.plot_widget.get_tk_widget().pack()
发生的情况是播放器窗口现在具有绘图小部件,但未显示绘图。另一方面,仅绘制未嵌入 tkinter 的功能就可以正常工作。对不起我的英语不好。提前致谢