正文
seaborn是专门用于统计数据可视化的包,可媲美R语言中的ggplot2包。本文介绍用seaborn绘制热力图。
环境
-
python3.9
-
win10 64bit
-
seaborn==0.11.1
-
matplotlib==3.3.4
-
pandas==1.2.1
数据
热力图的一个常见应用场景是绘制相关系数热力图,数据准备一个相关系数矩阵。
import seaborn as sns
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['figure.dpi'] = 80 # 图形分辨率
pd.options.display.notebook_repr_html=False # 表格显示
# 相关系数矩阵
np.random.seed(1) # 随机种子
mat=pd.DataFrame(np.random.rand(3,6),columns=list('abcdef')).corr()
mat
a b c d e f
a 1.000000 0.297407 -0.610065 -0.908297 -0.997893 -0.991160
b 0.297407 1.000000 -0.937936 0.129262 -0.234835 -0.421449
c -0.610065 -0.937936 1.000000 0.222660 0.557370 0.709796
d -0.908297 0.129262 0.222660 1.000000 0.933525 0.844767
e -0.997893 -0.234835 0.557370 0.933525 1.000000 0.980463
f -0.991160 -0.421449 0.709796 0.844767 0.980463 1.000000
绘制
调用
heatmap
方法绘制热力图。
# 热力图
sns.heatmap(mat)
plt.show()
调整调色板
设置
vmin
和
vmax
参数可以调整调色板的下限值和上限值。
# 设置调色板上下限值
sns.heatmap(mat,vmin=0,vmax=1)
plt.show()