如何在Tkinter的顶级小部件中导入图形

时间:2019-09-16 10:10:06

标签: python matplotlib tkinter toplevel

我正在尝试使用topLevel小部件将matplotlib图形导入到tkinter窗口中,但是我收到“ pyimage10不存在错误”。 我想将绘图放在topLevel小部件内,但当前有另一个用于创建绘图的整个窗口。

我已经压缩了graphs.py代码,但是可以确认它确实创建了一个图表

#graphs.py
def plot1(self):
    key = ['Sales Volume','Sales Revenue']
    index = np.arange(len(self.drinks))
    f = plt.figure(figsize=(7,5))
    plt.subplots_adjust(left=0.3,bottom=0.3)
    plt.bar(index+0,self.salesVolume1,color= 
    ('m','m'),align='center',width=.4)
    plt.bar(index+.40,self.salesRevenue1,color= 
    ('r','r'),align='center',width=.4)
    plt.legend(key, fontsize=12)
    plt.xlabel('Drinks', fontsize=10)
    plt.ylabel('Sales Volume / Revenue', fontsize=10)
    plt.xticks(index, self.drinks, fontsize=10, rotation=30)
    plt.title('Aggregate Sales Volume and Revenue')
    f.show()


#file.py
import graphs
import matplotlib
import tkinter as tk

matplotlib.use("TkAgg")
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, 
NavigationToolbar2Tk
from matplotlib.figure import Figure


class PageThree(tk.Frame,graphs.Analytics2):

    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)


        canvas = FigureCanvasTkAgg(graphs.Analytics2, self)
        canvas.draw()
        canvas.get_tk_widget().pack()

运行时,它在一个单独的窗口中打开了我的图,这不是我想做的-我试图将其嵌入另一个窗口的顶层,而我的tk窗口现在没有弹出。

0 个答案:

没有答案