seaborn.heatmap画热力图

参考官网教程,首先看看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)
numpy数组绘制heatmap热图
import numpy as np; 
import seaborn as sns; 
import matplotlib.pyplot as plt
uniform_data = np.random.rand(10, 12)
f, ax = plt.subplots(figsize=(9, 6))
ax = sns.heatmap(uniform_data)
plt.show()

在这里插入图片描述

为行和列加上标签

使用sns.load_dataset(“flights”)自带的数据集,数据集的部分截图如下,共143行数据:
在这里插入图片描述
接着使用了一个特别高效的函数pivot(),该函数有三个参数(index,columns,values),第一个参数index是指新表的索引,第二个参数columns是新表的列名,第三个参数values是指新表中的值,看效果就比较明确了

flights = flights.pivot("month", "year", "passengers")

在这里插入图片描述由表可以看出第一个参数就是行标,第二个参数是列标,第三个参数是表中的值。
显示一下热力图

ax = sns.heatmap(flights)
plt.show()

在这里插入图片描述

使用数值为每个单元格注释
ax = sns.heatmap(flights, annot=True, fmt="d")

heatmap中的参数annot为True时,为每个单元格写入数据值。如果数组具有与数据相同的形状,则使用它来注释热力图而不是原始数据。参数fmt是指添加注释时要使用的字符串格式代码。

在这里插入图片描述

为每个单元格之间添加行
ax = sns.heatmap(flights, linewidths=.5)

heatmap函数中的参数linewidths是指划分每个单元格的行的宽度
在这里插入图片描述

更换不同的色彩图
ax = sns.heatmap(flights, cmap="RdPu")

在这里插入图片描述heatmap函数中的参数cmap是指色彩颜色的选择,可选的颜色还有很多,比如: Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r…其中末尾加r是颜色取反

完整样例
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#加载数据CSV文件
data = pd.read_csv('./XXX/yyy.csv', header=None)
data = pd.DataFrame(data)

f, ax = plt.subplots(figsize=(12,10))
#调用heatmap函数画出热力图
ax = sns.heatmap(data, annot=False, vmin=-0.6, vmax=1.2, cmap="RdPu") #vmin和vmax设置colorbar颜色范围,默认为False
#设置x轴y轴刻度字体大小
plt.tick_params(labelsize=20) 
#设置colorbar刻度字体大小
color_bar = plt.gcf().axes[-1]
color_bar.tick_params(labelsize=20)
#存储图片
plt.savefig('./XXX/yyy.png', bbox_inches = 'tight') #bbox_inches = 'tight' 存储图片时完整保留图片边缘

结果热力图:
在这里插入图片描述

参考博客:seaborn.heatmap的初步学习

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值