怎么将sns.heatmap(card.corr('pearson'),annot=True)显示在tkinter窗口中代码
时间: 2024-02-25 07:57:22 浏览: 150
要将 `sns.heatmap` 显示在 tkinter 窗口中,可以使用 `FigureCanvasTkAgg` 和 `NavigationToolbar2Tk` 类。下面是示例代码:
```python
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
import seaborn as sns
# 创建 tkinter 窗口
root = tk.Tk()
root.geometry('800x600')
# 创建一个 Figure 对象
fig = sns.heatmap(card.corr('pearson'), annot=True).get_figure()
# 将 Figure 对象封装成 FigureCanvasTkAgg 对象
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
# 将 NavigationToolbar2Tk 对象添加到窗口中
toolbar = NavigationToolbar2Tk(canvas, root)
toolbar.update()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
# 进入 tkinter 主循环
tk.mainloop()
```
其中,`card.corr('pearson')` 是一个 pandas DataFrame 对象,代表数据集中各个特征之间的相关系数。`sns.heatmap` 会将这个 DataFrame 可视化为一个热力图。`FigureCanvasTkAgg` 将 `sns.heatmap` 的结果转换为 tkinter 可以显示的画布对象。`NavigationToolbar2Tk` 是 matplotlib 提供的一个工具条,可以实现一些常用的交互功能,如缩放、平移、保存图片等。
阅读全文