Python 可视化:使用 Seaborn 创建热图并进行美化
Python 可视化:使用 Seaborn 创建热图并进行美化
本教程将介绍如何使用 Python 中的 Seaborn 库创建热图,并使用 Matplotlib 对其进行美化。我们将展示如何设置字体、解决负号显示问题、添加标题、控制热图的颜色和外观。
import matplotlib.pyplot as plt
import seaborn as sns
# 假设你已经计算好了相关系数矩阵 corr
plt.subplots(figsize=(9, 9)) # 设置画面大小
plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,负号正常显示
plt.title('变量相关系数 - 热图
', fontsize=18) # 添加图表标题“变量相关系数 - 热图”,fontsize=18 字体大小 可省略
# annot=True,是显式热力图上的数值;vmax是显示最大值;xticklabels、yticklabels轴标签显示;square=True,将图变成一个正方形,默认是一个矩形;cmap="YlGnBu"是一种模式,就是图颜色配置。
# mask:控制某个矩阵块是否显示出来,默认值是None,如果是布尔型的DataFrame,则将DataFrame里True的位置用白色覆盖掉
sns.heatmap(corr, annot=True, vmax=1, vmin=0, xticklabels=True, yticklabels=True, square=True, cmap="YlGnBu",
linewidths=0.05, linecolor='white') # mask=t < 0.8等价于mask=(t < 0.8)
plt.show()
代码解释
plt.subplots(figsize=(9, 9)): 创建一个新的画布,并设置画布的大小为9x9英寸。plt.rcParams['font.sans-serif'] = ['FangSong']: 设置默认字体为仿宋。plt.rcParams['axes.unicode_minus'] = False: 解决保存图像时负号显示为方块的问题。plt.title('变量相关系数 - 热图 ', fontsize=18): 设置图表标题为'变量相关系数 - 热图',字体大小为18。sns.heatmap(corr, annot=True, vmax=1, vmin=0, xticklabels=True, yticklabels=True, square=True, cmap="YlGnBu", linewidths=0.05, linecolor='white'): 创建一个热图,其中corr是相关系数矩阵,annot=True表示在热图上显示数值,vmax=1和vmin=0分别表示热图的最大值和最小值,xticklabels=True和yticklabels=True表示显示x轴和y轴的标签,square=True表示将热图显示为正方形,cmap="YlGnBu"表示使用YlGnBu颜色映射,linewidths=0.05和linecolor='white'分别表示热图的线宽和线的颜色。plt.show(): 显示图表。
总结
本教程展示了如何使用 Seaborn 创建一个热图,并使用 Matplotlib 对其进行美化。通过调整字体、解决负号问题、添加标题和控制热图的外观,我们可以创建出更易于理解和视觉上更吸引人的可视化图表。
原文地址: https://www.cveoy.top/t/topic/fN1k 著作权归作者所有。请勿转载和采集!