import matplotlib.pyplot as plt
import numpy as np
#注意!
data = np.array([[5.17,4.53,3.86,3.48,3.11,2.82,2.54,0,0,0,0,0],[4.05,3.84,3.40,3.10,2.81,2.53,2.31,2.11,0,0,0,0],[3.22,3.26,2.96,2.75,2.52,2.26,2.07,1.91,1.60,0,0,0],[2.70,2.64,2.50,2.33,2.17,2.00,1.84,1.68,1.38,1.28,0,0],[2.29,2.18,2.08,1.94,1.84,0.17,1.54,1.46,1.19,1.1,0,0],[1.76,1.76,1.68,1.60,1.50,1.41,1.30,1.24,0.99,0.93,0.87,0],[1.35,1.37,1.31,1.22,1.16,1.11,1.01,0.97,0.78,0.72,0.67,0.67],[1.02,1.06,0.97,0.93,0.87,0.81,0.79,0.75,0.61,0.54,0.52,0.50],[0.66,0.66,0.58,0.54,0.54,0.49,0.49,0.48,0.38,0.33,0.32,0.31],[0.34,0.31,0.23,0.21,0.23,0.2,0.23,0.22,0.16,0.14,0.14,0.13],[0,0.05,0.12,0.15,0.12,0.09,0.05,0.03,0.04,0.07,0.05,0.05]]) #设置二维矩阵
f,ax = plt.subplots(figsize=(11,12))
#数据
#注意!
sns.heatmap(data, ax=ax,vmin=0,vmax=6,cmap='YlOrRd',annot=True,linewidths=2,cbar=True)
#热力图绘制代码
plt.title('heatmap')
plt.ylabel('y_label')
plt.xlabel('x_label')
label_y = plt.get_yticklabels()
label_x = plt.get_xticklabels()
plt.show()
效果图
参数控制:
- heatmap后第一个参数---------上面的数据集
- ax参数--------在哪张图上绘制
- cbar--------是否显示刻度条
- vmin和vmax--------右侧刻度条的范围
- annot=True(False)--------表示在对应位置(不)显示你的数据
- linewidths--------控制临近的两个方块的距离
- cmap--------控制渐变色
如下表(加r就是反着来的.....)
GnBu 由绿变蓝 summer 由黄到绿 Wistia 蓝绿黄
YIOrRd 红橙黄 summer_r 由绿到黄 coolwarm 蓝到红
hot 黄红黑 hot_r 黑红黄



