0.12.0.dev0
  • Gallery
  • Tutorial
  • API
  • Site
      • 发行说明
      • 安装
      • 示例库
      • 教程
      • API引用
      • 引用
      • 档案文件
  • Page
      • 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)¶

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

这是一个轴级功能,如果没有提供给轴,它会将热图绘制到当前激活的轴中 ax 争论。部分轴空间将用于绘制颜色图,除非 cbar 为假或为 cbar_ax .

参数
data矩形数据集

可以强制为数组的2D数据集。如果提供了数据帧,索引/列信息将用于标记列和行。

VMN,Vmax浮动,可选

值来锚定colormap,否则它们将从数据和其他关键字参数中推断出来。

cmapmatplotlib colormap名称或对象,或颜色列表,可选

从数据值到颜色空间的映射。如果未提供,则默认值将取决于 center 被设置。

center可选浮动

打印divergant数据时颜色图居中的值。使用此参数将更改默认值 cmap 如果没有指定。

robust可选的布尔

如果是真的并且 vmin 或 vmax 如果没有,则使用稳健分位数而不是极值来计算颜色映射范围。

annot布尔或矩形数据集,可选

如果为True,则在每个单元格中写入数据值。如果像这样的数组与 data ,然后用它来注释热图而不是数据。请注意,数据帧将匹配位置,而不是索引。

fmt可选的STR

添加批注时要使用的字符串格式代码。

annot_kws键的dict,值映射,可选

的关键字参数 matplotlib.axes.Axes.text() 什么时候? annot 是True。

linewidths可选浮动

将分割每个单元格的行的宽度。

linecolor颜色,可选

将分割每个单元格的线条的颜色。

cbar可选的布尔

是否绘制色条。

cbar_kws键的dict,值映射,可选

的关键字参数 matplotlib.figure.Figure.colorbar() .

cbar_axmatplotlib轴,可选

在其中绘制颜色条的轴,否则会占用主轴的空间。

square可选的布尔

如果为真,则将轴的纵横比设置为“相等”,这样每个单元格都将是方形的。

xticklabels、yticklabels标签“auto”,bool,list-like,或int,可选

如果为True,则打印数据帧的列名。如果为False,则不打印列名。如果类似于列表,则将这些备用标签绘制为xticklabel。如果是整数,则使用列名,但仅打印每n个标签。如果是“自动”,则尝试密集地打印不重叠的标签。

mask布尔数组或数据帧,可选

如果传递,数据将不会显示在 mask 这是真的。缺少值的单元格将被自动屏蔽。

axmatplotlib轴,可选

绘制绘图的轴,否则使用当前激活的轴。

kwargs其他关键字参数

所有其他关键字参数都传递给 matplotlib.axes.Axes.pcolormesh() .

返回
axmatplotlib轴

轴对象与热图。

参见

clustermap

使用层次聚类绘制矩阵以排列行和列。

实例

绘制numpy阵列的热图:

>>> 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)
../_images/seaborn-heatmap-1.png

更改颜色贴图的限制:

>>> ax = sns.heatmap(uniform_data, vmin=0, vmax=1)
../_images/seaborn-heatmap-2.png

用发散的颜色图绘制以0为中心的数据的热图:

>>> normal_data = np.random.randn(10, 12)
>>> ax = sns.heatmap(normal_data, center=0)
../_images/seaborn-heatmap-3.png

使用有意义的行和列标签打印数据帧:

>>> flights = sns.load_dataset("flights")
>>> flights = flights.pivot("month", "year", "passengers")
>>> ax = sns.heatmap(flights)
../_images/seaborn-heatmap-4.png

使用整数格式为每个单元格添加数值注释:

>>> ax = sns.heatmap(flights, annot=True, fmt="d")
../_images/seaborn-heatmap-5.png

在每个单元格之间添加行:

>>> ax = sns.heatmap(flights, linewidths=.5)
../_images/seaborn-heatmap-6.png

使用不同的颜色映射:

>>> ax = sns.heatmap(flights, cmap="YlGnBu")
../_images/seaborn-heatmap-7.png

将颜色贴图置于特定值的中心:

>>> ax = sns.heatmap(flights, center=flights.loc["Jan", 1955])
../_images/seaborn-heatmap-8.png

每隔列标签打印一次,不打印行标签:

>>> data = np.random.randn(50, 20)
>>> ax = sns.heatmap(data, xticklabels=2, yticklabels=False)
../_images/seaborn-heatmap-9.png

不要绘制色条:

>>> ax = sns.heatmap(flights, cbar=False)
../_images/seaborn-heatmap-10.png

对颜色栏使用不同的轴:

>>> grid_kws = {"height_ratios": (.9, .05), "hspace": .3}
>>> f, (ax, cbar_ax) = plt.subplots(2, gridspec_kw=grid_kws)
>>> ax = sns.heatmap(flights, ax=ax,
...                  cbar_ax=cbar_ax,
...                  cbar_kws={"orientation": "horizontal"})
../_images/seaborn-heatmap-111.png

使用遮罩仅绘制矩阵的一部分

>>> corr = np.corrcoef(np.random.randn(10, 200))
>>> mask = np.zeros_like(corr)
>>> mask[np.triu_indices_from(mask)] = True
>>> with sns.axes_style("white"):
...     f, ax = plt.subplots(figsize=(7, 5))
...     ax = sns.heatmap(corr, mask=mask, vmax=.3, square=True)
../_images/seaborn-heatmap-12.png

Back to top

© Copyright 2012-2021, Michael Waskom. 构建基于 Sphinx 3.4.1.