目录
代码:
注:关键解决如下问题
①如何修改横纵坐标的字体大小和显示模式(如倾斜等)
②如何在方格上显示具体的数值
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
sns.set()
###为控制横纵坐标的字体
with plt.style.context({'axes.labelsize':10,
'xtick.labelsize':12,
'ytick.labelsize':12}):
plt.figure(dpi=600) ##设置分辨率
data=np.array([[0.8125,0.75125,0.6125,0.75],
[0.74688,0.82563,0.76813,0.70313],
[0.72813,0.74813,0.82813,0.76563],
[0.70313,0.79688,0.72813,0.82813]])
df=pd.DataFrame(data=data,index=["leaf {}".format(i+1) for i in range(4)],columns=["tree {}".format(j+1) for j in range(4)])
ax=sns.heatmap(df,cmap='bwr',annot=True,square=True,linewidths=1.5)##annot显示具体数值,square变成正方,linewidths设置正方形的间隔
##change the font show mode设置横纵坐标的字体显示模式
label_y = ax.get_yticklabels()
plt.setp(label_y, rotation=360, horizontalalignment='right')
label_x = ax.get_xticklabels()
plt.setp(label_x, rotation=45, horizontalalignment='right')
效果(cmap=['pastel1','rainbow','Bugn','bwr'])
cmap后加上_r就可以表示反转对应color bar
Reference
聚类热力??!Python-Seaborn热图绘制的实现方法 - 简书 (jianshu.com)https://www.jianshu.com/p/02d1e8244d4b
注:plt.savefig的时候,前面不能有plt.show(),会保存了一张空白的图片