Python数据分析与机器学习12-Seaborn之Heatmap

一. heatmap 语法介绍

seaborn.heatmap语法:

seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt='.2g', annotkws=None, linewidths=0, linecolor='white', cbar=True, cbarkws=None, cbar_ax=None, square=False, ax=None, xticklabels=True, yticklabels=True, mask=None, **kwargs)
  • data:矩阵数据集,可以使numpy的数组(array),如果是pandas的dataframe,则df的index/column信息会分别对应到heatmap的columns和rows

  • vmax,vmin, 图例中最大值和最小值的显示值,没有该参数时默认不显示

  • linewidths,热力图矩阵之间的间隔大小

  • cmap,热力图颜色

  • ax,绘制图的坐标轴,否则使用当前活动的坐标轴。

  • annot,annotate的缩写,annot默认为False,当annot为True时,在heatmap中每个方格写入数据。

  • annot_kws,当annot为True时,可设置各个参数,包括大小,颜色,加粗,斜体字等:
    sns.heatmap(x, annot=True, ax=ax2, annot_kws={‘size’:9,‘weight’:‘bold’, ‘color’:‘blue’})

  • fmt,格式设置,决定annot注释的数字格式,小数点后几位等;

  • cbar : 是否画一个颜色条

  • cbar_kws : 颜色条的参数,关键字同 fig.colorbar,可以参考:matplotlib自定义colorbar颜色条-以及matplotlib中的内置色条

  • mask,遮罩

二. 实例

2.1 数据源介绍

flights.csv
每年每月份航班的乘客人数
image.png

2.2 实例演示

代码:

import matplotlib.pyplot as plt
import numpy as np;
import seaborn as sns;
import pandas as pd;

# 读取csv文件数据
flights = pd.read_csv("E:/file/flights.csv")
print (flights.head())
print ("########################################################")

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


# 图1: 普通的热力图
ax1 = sns.heatmap(flights)

# 图2: 热力图+数字
#ax2 = sns.heatmap(flights, annot=True,fmt="d")

# 图3: 颜色由深到浅
#ax3 = sns.heatmap(flights, linewidths=.5)

# 图4: 颜色由浅到深
#ax4 = sns.heatmap(flights, cmap="YlGnBu")

# 图5: cbar 是否画一个颜色条
#ax5 = sns.heatmap(flights, cbar=False)

plt.show()

测试记录:
image.png

图1: 普通的热力图
image.png

图2: 热力图+数字
image.png

图3: 颜色由深到浅
image.png

图4: 颜色由浅到深
image.png

图5: cbar 是否画一个颜色条
image.png

参考:

  1. https://study.163.com/course/introduction.htm?courseId=1003590004#/courseDetail?tab=1
  2. https://blog.csdn.net/L29979264458/article/details/124196173
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值