关于#matplotlib#的问题,如何解决?

我在运行一个tkinter编写的预测界面时,它无法预测,出现报错。
请求帮助!
报错信息:

img

img

img


下面是我的代码:

import sys
import tkinter as tk
import tensorflow as tf
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import numpy as np
from tkinter import *
import tkinter.filedialog  # 注意次数要将文件对话框导入
from PIL import Image

def ResNet_yuce():
    global e1, pred, root
    #设置编码方式--UTF-8
    from scipy.constants import lb
    plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号

    fig = plt.figure(figsize=(2,2),dpi=100)
    # 从本地选择一个文件,并返回文件的目录
    # filenames = tkinter.filedialog.askopenfile()#形成一共io流 的文件名称
    filename = tk.filedialog.askopenfilename(title=u'加载图片',initialdir=(()))#只保留文件名和后缀
    print(filename)

    model_save_path = './ResNet50_test_tuxiangzengqiang_Skin_test.ckpt'

    model = tf.keras.models.Sequential([
        tf.keras.layers.Flatten(),#Flatten-变成一维数组
        tf.keras.layers.Dense(128, activation='relu'),#relu函数可以解决 梯度消失问题 是线性的
        tf.keras.layers.Dense(2, activation='softmax')])# 2个类所以2个神经元 softmax只用在最后一层 可以让最后输出的概率在0-1之间

    model.load_weights((model_save_path))#读取文件

    img = Image.open(filename)
    img = img.resize((128, 128), Image.ANTIALIAS)#把大小变成64*64
    img_arr = np.array(img.convert('RGB'))#图片变为8位宽灰度值 的np.array文件
    # image为array类型,多少维度都无所谓,直接操作全部元素
    img_arr = (img_arr - np.min(img_arr)) / (np.max(img_arr) - np.min(img_arr))

    plt.imshow(img_arr)#展示图片
    plt.axis('off')#去掉坐标轴
    img_arr = img_arr/255.0#归一化

    x_predict = img_arr[tf.newaxis, ...]#扩大一个维度
    result = model.predict(x_predict.astype(np.float))#存放result-概率????

    pred = tf.argmax(result, axis=1)#求最大值得出最后识别出来的数

    e1 = tk.Label(root, text=pred, font=('Arial', 16))#显示预测结果
    e1.place(x=500, y=370)

    canvas = FigureCanvasTkAgg(fig, master=root)#渲染器 在画布上放置图片
    canvas.draw()
    canvas.get_tk_widget().place(x=100,y=250)

def picture():
    global root
    root = Tk()
    root.wm_title("细胞图像疟疾检测")
    root.geometry('1000x650')

    ask = tk.Button(root, text="预测", width=10, command=ResNet_yuce)
    ask.place(x=600, y=90)

    root.protocol('WM_DELETE_WINDOW', lambda: sys.exit(0))

    root.mainloop()

if __name__ == '__main__':
    picture()