目录
5. 定义一个与相关性矩阵大小相同的矩阵,用于仅显示下三角内容,如需要显示整个矩阵则不需要如此设置
关注微信公众号(生物海洋计算机支线),分享更多数据处理、生物海洋等文章
seaborn简介
Seaborn是python中的一个可视化库,对matplotlib的封装,与plotly类似,能更方便的做出易调整、美观的图表。能够显示更多信息。同时官网提供了多种示例图库,方便进行实践练习。
官网地址:
官方给出的实例
下载安装
在命令行页面使用
pip install seaborn
即可下载相关包
实例
1.导入包
import seaborn as sns
import pandas as pd
2.导入数据
#导入数据
data = pd.read_excel("E:/data.xlsx"
,index_col=0
)
data.head(3)
数据格式如下:
3. 计算相关性
# 相关性
corr = data.corr()
4. 设置颜色
# 使用choose_diverging_palette()方法交互式的进行调色,可以代替diverging_palette()
# 注:仅在jupyter中使用
cmap = sns.choose_diverging_palette()
在jupyter中的展示效果
5. 定义一个与相关性矩阵大小相同的矩阵,用于仅显示下三角内容,如需要显示整个矩阵则不需要如此设置
mask = np.zeros_like(corr, dtype=np.bool) #定义一个大小一致全为零的矩阵 用布尔类型覆盖原来的类型
mask[np.triu_indices_from(mask)]= True #返回矩阵的上三角,并将其设置为true
6. 绘制相关性热图
# 中文可能不会正常显示,我们需要matplotlib的rc方法设置字体所以导入matplotlib
import matplotlib
# 正常默认字体可能不显示中文,所以对字体进行修改
matplotlib.rc("font",family="MicroSoft YaHei",weight="bold")
# 相关性热力图
f, ax = plt.subplots(figsize=(11, 9)) #设置画布大小
# 创建自定义的色块,也可使用第5步中的颜色
# cmap = sns.diverging_palette(230, 20, as_cmap=True)
# cmap = sns.choose_diverging_palette()
# 创建热图,并调整参数
sns.heatmap(corr
,mask=mask #只显示为true的值
, cmap=cmap
# , vmax=.3
, center=0
# ,square=True
, linewidths=.5
, cbar_kws={"shrink": .5}
, annot=False #底图带数字 True为显示数字
)
7.保存图片
# 保存图片
heatmap = fig.get_figure()
heatmap.savefig("E:/heatmap.png", dpi = 400)