Seaborn 热力图清晰度优化:解决类别过多导致的模糊问题

在使用 Seaborn 绘制混淆矩阵热力图时,如果类别数目过多,可能会导致热力图过于密集,难以清晰辨认。本文将提供代码示例,介绍如何通过调整热力图大小和字体大小等方法,解决此问题,让热力图更加清晰易读。

问题:

当类别数目较多时,Seaborn 热力图可能会变得过于密集,难以看清各个方框中的数值。

解决方案:

可以通过以下方法优化热力图,使其更加清晰:

  1. 调整热力图大小: 使用 plt.figure(figsize=(width, height)) 方法调整热力图的大小,使其能够容纳更多内容。
  2. 调整字体大小: 使用 annot_kws={'size': fontsize} 参数调整热力图中方框内数字的字体大小。
  3. 调整轴标签和标题字体大小: 使用 fontsize 参数调整 plt.xlabelplt.ylabelplt.title 的字体大小。

代码示例:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 读取保存的csv文件
cm_df = pd.read_csv(r'C:\Users\New\Desktop\周会\横向会议纪要\cm2023-07-13_11-00-44.csv', index_col=0)
cm_df.columns = range(0, 156)
cm_df.index = range(0, 156)

# 绘制热力图
plt.figure(figsize=(12, 10))
sns.heatmap(cm_df, annot=True, cmap='Blues', fmt='d', cbar=False, square=True, linewidths=0.5, annot_kws={'size': 8})
plt.xlabel('Predicted Label', fontsize=12)
plt.ylabel('True Label', fontsize=12)
plt.title('Confusion Matrix Heatmap', fontsize=14)
plt.show()

在这个代码中,我们通过 figsize 参数调整了热力图的大小为 12x10,通过 annot_kws 参数调整了热力图中方框内数字的字体大小为 8,通过 fontsize 参数调整了 x 轴、y 轴标签和标题的字体大小为 12 和 14。

通过以上调整,您可以轻松解决类别过多导致的热力图模糊问题,使其更加清晰易读。


原文地址: https://www.cveoy.top/t/topic/pKhh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录