Я знаю, что это общая проблема, и я прочитал все ссылки, связанные с этой ошибкой.Я понял, что должен поставить matplotlib.use () перед импортом pyplot и т. Д., Но все равно он не работает.Я работаю с jupyter notebook и python 2.7.Это все, что я импортировал:
import Tkinter as tk
from Tkinter import*
import tkMessageBox
import tkFileDialog
import pandas as pd
import matplotlib
matplotlib.use('tkagg')
from PIL import Image, ImageTk
from tkinter import ttk
import pylab as plt
from matplotlib.ticker import (MultipleLocator, FormatStrFormatter,
AutoMinorLocator)
from matplotlib.figure import Figure
import seaborn as sns
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from collections import Counter
try:
from matplotlib.backends.backend_tkagg import NavigationToolbar2Tk as PlotNav
except:
from matplotlib.backends.backend_tkagg import NavigationToolbar2TkAgg as PlotNav
и эта функция, которая использовала tkagg
в ней для обеспечения панели инструментов навигации:
def monthly_sells(array,hh):
monse = tk.Toplevel(hh)
array['monthj'] = pd.to_numeric(array['monthj'])
x=array['monthj'].values.tolist()
x.sort(key=int)
f = Figure(figsize=(4,3), dpi=80)
f.add_axes([0.2, 0.15,0.78,0.7])
canvas = FigureCanvasTkAgg(f, master=monse)
canvas.get_tk_widget().grid(row=1, column=3, rowspan=6)
tkagg.PlotNav(canvas, monse)
p = f.gca()
bins=[1,2,3,4,5,6,7,8,9,10,11,12,13]
p.hist(x,bins,rwidth=0.8, label='sales amount in different months of year' )
p.set_xlabel('month', fontsize = 10)
p.set_ylabel('number of orders', fontsize = 10)
Эта ошибка возникает, когда я нажимаю кнопку, которая использует функцию month_sells в качестве команды.
глобальное имя 'tkagg' не определено