1. 画一个基本的热力图, 通过热力图用来观察样本的分布情况
import matplotlib.pyplot as plt import numpy as np np.random.seed(0) import seaborn as sns # 初始化参数 sns.set() uniform_data = np.random.rand(3, 3) heatmap = sns.heatmap(uniform_data) plt.show()
2. 通过vmin 和 vmax设置热力图的区间
uniform_data = np.random.rand(3, 3) # 通过vmin和vmax设置热力图的范围区间 heatmap = sns.heatmap(uniform_data, vmin=0.2, vmax=0.5) plt.show()
3.center=0 对于有正有负的数据而言颜色差异更大
uniform_data = np.random.randn(3, 3) # 通过vmin和vmax设置热力图的范围区间 heatmap = sns.heatmap(uniform_data, center=0) plt.show()
4. 取出三个特征进行热力图的绘制figures.pivot() 第三个属性表示热力图上实际的值
flights = sns.load_dataset('flights') # 取出这三个属性画热力图,坐标点的位置是passengers flights = flights.pivot('month', 'year', 'passengers') ax = sns.heatmap(flights) plt.show() # 将实际的数值绘制到上面 flights = sns.load_dataset('flights') # 取出这三个属性画热力图,坐标点的位置是passengers flights = flights.pivot('month', 'year', 'passengers') ax = sns.heatmap(flights, annot=True, fmt='d') plt.show()
5. linewidth 使得格与格之间有距离, 指定调色板, 隐藏colorbar
flights = sns.load_dataset('flights') # 取出这三个属性画热力图,坐标点的位置是passengers flights = flights.pivot('month', 'year', 'passengers') ax = sns.heatmap(flights, linewidths=0.5, cmap='YlGnBu', cbar=False) plt.show()