seaborn笔记:heatmap

绘制热力图

1 基本使用方法

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)

2 主要参数

data矩形数据(eg,ndarray)
vim,vmax

颜色映射的最大最小值

如果没有指定,那么将从数据和其他关键字参数中推断出来

cmap

颜色映射

center在绘制离散数据时,居中的颜色映射对应哪个值
robust如果为True,且vmin或vmax不存在,则使用鲁棒分位数而不是极值来计算颜色映射范围
annot
  • 如果为True,则在每个单元格中写入数据值
  • 如果是与数据形状相同的数组形式,则使用它而不是数据进行注释

xticklabels

yticklabels

x轴y轴标签名称

linewidths划分每个单元格的线的宽度
linecolor划分每个单元格的线的颜色
cbar是否绘制颜色条
cbar_axmatplotlib用于绘制颜色条的Axes,否则从主Axes中占用空间
square如果为True,则将Axes的纵横比设置为“equal”,以使每个单元格成为正方形
mask

布尔数组

如果传递了该参数,则在mask为True的单元格中不显示数据。具有缺失值的单元格将自动被屏蔽

3 举例

3.0 数据集

import seaborn as sns
glue = sns.load_dataset("glue").pivot("Model", "Task", "Score")
glue

3.1 基本绘图

3.1.1 DataFrame

sns.heatmap(glue)

 3.1.2 ndarray

sns.heatmap(glue.values)

3.2 cmap

sns.heatmap(glue,cmap='Greens')

 

 3.3 xticklabels

sns.heatmap(glue.values,xticklabels=['a','s','d','f','g','h','j'])

 3.4 annot

sns.heatmap(glue,annot=True)

 3.5 linewidths

sns.heatmap(glue,linewidths=10)

 3.6 linecolor

sns.heatmap(glue,linecolor='green',linewidths=5)

4 另一种应用:可视化数据的missing value

4.1 导入数据

import pandas as pd
# Visual Python: Data Analysis > File
vp_df = pd.read_csv('https://raw.githubusercontent.com/visualpython/visualpython/main/visualpython/data/sample_csv/tips.csv')

import seaborn as sns
import numpy as np
vp_df.head()

 4.2 随机mask一些数据

l=len(vp_df)
lst1=np.random.choice(l,10)
lst2=np.random.choice(l,50)
for i in lst1:
    vp_df.at[i,'total_bill']=np.nan
for i in lst2:
    vp_df.at[i,'tip']=np.nan    
vp_df

 4.3  heatmap可视化缺省值

vp_is_nan=pd.isna(vp_df)
vp_is_nan[['total_bill','tip']]

 

sns.heatmap(vp_is_nan[['total_bill','tip']],cmap=['green','red'])

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值