点击这里查看官网文档
如果是单纯看数据分布情况,则直接调用包即可。
如果是想看特征两两之间的相似图,则需先求一个相关系数矩阵。
参考样例
import numpy as np
import seaborn as sns
import matplotlib.pyplot as pltnp.random.seed(10)
sns.set_theme()
uniform_data = np.random.rand(10, 12)
ax = sns.heatmap(uniform_data)plt.show()
具体参数
vmax 数据范围的上界
vmin 数据范围的下界
annot 是否显示数据具体数字
annot=True表示显示数字
如何显示不同的数据类型:
xticklabels=2, yticklabels=False
内容为False时,不显示坐标轴刻度
内容为数字时,代表最小分度值
cbar内容为False时,不显示最右侧的刻度指示bar
cmap=“YlGnBu”
一种好看的图表显示颜色系
fmt=’.1f’
图中数据显示一位小数
记得annot需要设置为True才会生效
刻度指示bar在图表下面
import numpy as np
import seaborn as sns
import matplotlib.pyplot as pltnp.random.seed(0)
sns.set_theme()flights = np.random.rand(10, 12)
grid_kws = {"height_ratios": (.9, .05), "hspace": .3}
f, (ax, cbar_ax) = plt.subplots(2, gridspec_kw=grid_kws)
ax = sns.heatmap(flights, ax=ax,cbar_ax=cbar_ax,cbar_kws={"orientation": "horizontal"},cmap="YlGnBu")plt.show()
只显示版一半的矩阵
import numpy as np
import seaborn as sns
import matplotlib.pyplot as pltcorr = np.corrcoef(np.random.randn(10, 200))
mask = np.zeros_like(corr)
mask[np.triu_indices_from(mask)] = True
with sns.axes_style("white"):f, ax = plt.subplots(figsize=(7, 5))ax = sns.heatmap(corr, mask=mask, vmax=.3, square=True, cmap="YlGnBu")plt.show()