1.简介
在科研中有很多地方为了可解释给审稿人提供了热图,便于知道深度学习中到底是哪部分在起作用,或者是在机器学习中分析不同的特征之间是否存在相关性?存在多大的相关性;或者是直观的展示场景热力图…总之,用处很多,我正好现在也需要用,就先总结下:绘制HeatMap的库有很多,这里只介绍两个,一个是seaborn.heatmap与pyheatmap.heatmap.
2.seaborn.heatmap使用方法
seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt='.2g', annot_kws=None, linewidths=0, linecolor='white', cbar=True, cbar_kws=None, cbar_ax=None, square=False, xticklabels='auto', yticklabels='auto', mask=None, ax=None, **kwargs)
首先看一下官方给的函数,参数解释如下:
3.实例展示
import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set()
uniform_data = np.random.rand(10, 12)
sns.heatmap(uniform_data)
plt.show()
import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set()
uniform_data = np.random.rand(10, 12)*5
ax = sns.heatmap(uniform_data, vmin=0, vmax=5)
plt.show()
import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set()
uniform_data = np.random.randn(10, 12)*5
ax = sns.heatmap(uniform_data, center=0)
plt.show()
使用特定的行和列标签绘制dataframe:这里加载的seaborn自带的数据flights
import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set()
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")#解析为纵坐标,横坐标,值
ax = sns.heatmap(flights)
plt.show()
ax = sns.heatmap(flights, annot=True, fmt="d")
ax = sns.heatmap(flights, linewidths=.5)
使用不同的colormap:这个就是可以换颜色,具体颜色代码看文档
ax = sns.heatmap(flights, cmap=“YlGnBu”)
绘制每个其他列标签,而不绘制行标签:
data = np.random.randn(50, 20)
ax = sns.heatmap(data, xticklabels=2, yticklabels=False)
4.总结
这一次仅简单说了seaborn.heatmap函数,后续我们将介绍在机器学习中的显示不同特征之间相关性的热力图Pyheatmap.heatmap用法及场景热力图的使用及用法.
5.参考
https://www.cntofu.com/book/172/docs/30.md
http://seaborn.pydata.org/generated/seaborn.heatmap.html
https://www.cnblogs.com/jiaxinwei/p/12015968.html