1.热力图矩阵块颜色参数:

vmax,vmin:分别是热力图的颜色取值最大和最小范围,默认是根据data数据表里的取值确定
cmap:从数字到色彩空间的映射,取值是matplotlib包里的colormap名称或颜色对象,或者表示颜色的列表;改参数默认值:根据center参数设定
center:数据表取值有差异时,设置热力图的色彩中心对齐值;通过设置center值,可以调整生成的图像颜色的整体深浅;设置center数据时,如果有数据溢出,则手动设置的vmax、vmin会自动改变
robust:默认取值False;如果是False,且没设定vmin和vmax的值,热力图的颜色映射范围根据具有鲁棒性的分位数设定,而不是用极值设定

#cmap(颜色)
import matplotlib.pyplot as plt
% matplotlib inline
f, (ax1,ax2) = plt.subplots(figsize = (6,4),nrows=2)
# cmap用cubehelix map颜色

cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True)

sns.heatmap(pt, linewidths = 0.05, ax = ax1, vmax=900, vmin=0, cmap=cmap)

ax1.set_title('cubehelix map')

ax1.set_xlabel('')
ax1.set_xticklabels([]) #设置x轴图例为空值
ax1.set_ylabel('kind')
# cmap用matplotlib colormap

sns.heatmap(pt, linewidths = 0.05, ax = ax2, vmax=900, vmin=0, cmap='rainbow')

# rainbow为 matplotlib 的colormap名称

ax2.set_title('matplotlib colormap')

ax2.set_xlabel('region')

ax2.set_ylabel('kind')

2.热力图矩阵块注释参数:

annot(annotate的缩写):默认取值False;如果是True,在热力图每个方格写入数据;如果是矩阵,在热力图每个方格写入该矩阵对应位置数据
fmt:字符串格式代码,矩阵上标识数字的数据格式,比如保留小数点后几位数字
annot_kws:默认取值False;如果是True,设置热力图矩阵上数字的大小颜色字体,matplotlib包text类下的字体设置;官方文档:

import numpy as np

np.random.seed(20180316)
x = np.random.randn(4, 4)
f, (ax1, ax2) = plt.subplots(figsize=(6,6),nrows=2)
sns.heatmap(x, annot=True, ax=ax1)
sns.heatmap(x, annot=True, ax=ax2, annot_kws={'size':9,'weight':'bold', 'color':'blue'}

3.热力图颜色刻度条参数:

cbar:是否在热力图侧边绘制颜色刻度条,默认值是True
cbar_kws:热力图侧边绘制颜色刻度条时,相关字体设置,默认值是None
cbar_ax:热力图侧边绘制颜色刻度条时,刻度条位置设置,默认值是None

f, ax = plt.subplots(figsize=(8, 8))
cmap = sns.cm.rocket_r  #colorbar颜色反转
ax = sns.heatmap(pd_data, annot=True, ax=ax, fmt='.1f', cmap=cmap) #画heatmap,具体参数可以查文档
 
plt.xlabel('x_label',fontsize=20, color='k') #x轴label的文本和字体大小
plt.ylabel('y_label',fontsize=20, color='k') #y轴label的文本和字体大小
plt.xticks(fontsize=20) #x轴刻度的字体大小(文本包含在pd_data中了)
plt.yticks(fontsize=20) #y轴刻度的字体大小(文本包含在pd_data中了)
plt.title('title',fontsize=20) #图片标题文本和字体大小
#设置colorbar的刻度字体大小
cax = plt.gcf().axes[-1]
cax.tick_params(labelsize=20)
#设置colorbar的label文本和字体大小
cbar = ax.collections[0].colorbar
cbar.set_label(r'$NMI$',fontdict=font)
 
plt.show()