【python学习笔记】seaborn模块

目录

热力图介绍

seaborn模块绘制热力图


热力图介绍

热力图是一种特殊的图表,它是一种通过对色块着色来显示数据的统计图表,在绘图时,需要指定每个颜色映射的规则(一般以颜色的强度或色调为标准);比如颜色越深的表示数值越大、程度越深;颜色越亮的数值越大、程度越深。

seaborn模块绘制热力图

使用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)

# 将矩形数据绘制为颜色编码矩阵。


​# parameter:
# data:ndarray 的 2D 数据集;
# vmin,vmax:热力图显示的最小值和最大值,float类型,若未提供,则从输入数据中推导;
# cmap:matplotlib 颜色图名称或对象,或颜色列表,可选,从数据值到颜色空间的映射。 如未提供,则默认值将取决于是否设置了中心。
# center:中心浮动,可选,绘制不同数据时颜色图居中的值。 如果未指定,则使用此参数将更改默认cmap。
# robust:布尔型,可选,如果 True 和 vmin 或 vmax 不存在,则使用稳健的分位数而不是极值来计算颜色图范围。
# annot:annotbool 或矩形数据集,可选,如果为 True,则在每个单元格中写入数据值。 如果一个与数据具有相同形状的类数组,则使用它来注释热图而不是数据。 
# fmtstr,可选,添加注释时使用的字符串格式代码。

# annot_kws:键的 annot_kwsdict,值映射,可选,当 annot 为 True 时,matplotlib.axes.Axes.text() 的关键字参数。

# linewidths:线宽浮动,可选,分割每个单元格的线的宽度。

# linecolor:线色颜色,可选,将划分每个单元格的线条的颜色。

# cbar:cbarbool,可选,是否绘制颜色条。

# cbar_ax:cbar_kwsdict 的键,值映射,可选,matplotlib.figure.Figure.colorbar() 的关键字参数。

# cbar_axmatplotlib 轴,可选,绘制颜色条的轴,否则从主轴中占用空间。

# squarebool,可选,如果为 True,则将 Axes 方面设置为“相等”,以便每个单元格都是方形的。

#:xticklabels, yticklabels“auto”, bool, list-like, or int, optional
#如果为 True,则绘制数据框的列名。如果为 False,则不要绘制列名。如果类似列表,则将这些备用标签# 绘制为 xticklabels。如果是整数,请使用列名,但仅绘制每 n 个标签。如果“自动”,请尝试密集绘制# # 不重叠的标签。

# mask:maskbool 数组或 DataFrame,可选,如果通过,数据将不会显示在 mask 为 True 的单元格中。具有缺失值的单元格会被自动屏蔽。

# ax:axmatplotlib 轴,可选,绘制绘图的轴,否则使用当前活动的轴。

import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set_theme()
uniform_data = np.random.rand(10, 12)
ax = sns.heatmap(uniform_data)

ax = sns.heatmap(uniform_data, vmin=0, vmax=1)

 

normal_data = np.random.randn(10, 12)
ax = sns.heatmap(normal_data, center=0)

 

 

flights = sns.load_dataset("flights")    # 从seaborn 下载样例数据
flights = flights.pivot("month", "year", "passengers")
ax = sns.heatmap(flights)

ax = sns.heatmap(flights, annot=True, fmt="d")

 

ax = sns.heatmap(flights, linewidths=.5)

 

 

ax = sns.heatmap(flights, cmap="YlGnBu")

 

ax = sns.heatmap(flights, center=flights.loc["Jan", 1955])

data = np.random.randn(50, 20)
ax = sns.heatmap(data, xticklabels=2, yticklabels=False)

 

ax = sns.heatmap(flights, cbar=False)

 官方文档:

seaborn.heatmap — seaborn 0.11.2 documentation (pydata.org)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值