ax = sns.heatmap(confusion_matrix(y_pred,y_test),annot=True,cmap='coolwarm',fmt='d') ax.set_title('Predicting original data with decision tree model confusion matrix') ax.set_xticklabels(['Not Lost','Lost'],fontsize=18) ax.set_yticklabels(['Predicted Not Lost','Lost'],fontsize=18)把这段代码绘制出的图放在tkinter界面的指定位置
时间: 2023-12-07 20:03:50 浏览: 136
下面是将Seaborn绘制的混淆矩阵图放到Tkinter界面的例子:
```python
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import seaborn as sns
from sklearn.metrics import confusion_matrix
import numpy as np
# 创建根窗口
root = tk.Tk()
root.title("Confusion Matrix")
# 生成混淆矩阵数据
y_test = np.array([0, 1, 0, 0, 1, 1, 0, 1, 1])
y_pred = np.array([0, 1, 1, 0, 1, 0, 0, 1, 1])
cm = confusion_matrix(y_test, y_pred)
# 绘制混淆矩阵图像
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
sns.heatmap(cm, annot=True, cmap='coolwarm', fmt='d', ax=ax)
ax.set_title('Predicting original data with decision tree model confusion matrix')
ax.set_xticklabels(['Not Lost', 'Lost'], fontsize=18)
ax.set_yticklabels(['Predicted Not Lost', 'Lost'], fontsize=18)
# 将图像显示在画布上
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().grid(row=0, column=0)
# 运行窗口
root.mainloop()
```
在这个例子中,我们使用Seaborn库绘制混淆矩阵图像,并将其放置在Tkinter窗口中。我们首先创建了一个根窗口,并指定了它的标题。
然后,我们生成了混淆矩阵数据,并使用Seaborn的`heatmap`方法将其绘制成混淆矩阵图像。我们还设置了图像的标题和轴标签。
接下来,我们使用`FigureCanvasTkAgg`将图像显示在Tkinter窗口中,并使用`grid`方法将其放置在指定的位置(这里是第0行第0列)。
最后,我们通过运行`mainloop`方法来启动窗口并显示图像。
阅读全文