seaborn.heatmap

seaborn.heatmapdatavmin = Nonevmax = Nonecmap = Nonecenter = Nonerobust = Falseannot = Nonefmt =’.2g’annot_kws = Nonelinewidths = 0linecolor =’white’cbar = Truecbar_kws = Nonecbar_ax = Nonesquare = Falsexticklabels =’auto’yticklabels =’auto’mask = Noneax = None** kwargs

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

这是一个轴级别的函数,如果没有为ax参数提供热图,则会将热图绘制到当前活动的轴中。除非cbar 是False或为提供单独的Axes ,否则将占用此Axes空间的一部分并将其用于绘制颜色图cbar_ax

参量
data : 矩形数据集 可以强制为ndarray的2D数据集。如果提供了Pandas DataFrame,则索引/列信息将用于标记列和行。
vmin,vmax : 浮点数,可选 锚定颜色图的值,否则从数据和其他关键字参数推断出它们。
cmap : matplotlib颜色图名称或对象,或颜色列表,可选 从数据值到色彩空间的映射。如果未提供,则默认值取决于是否设置。
center : 浮点数,可选 绘制不同数据时将颜色图居中的值。cmap如果未指定,则使用此参数将更改默认值。
robust : 布尔值,可选 如果没有True和vminor vmax,则使用稳健的分位数而不是极值来计算颜色图范围。
annot : 布尔或矩形的数据集,可选 如果为True,则在每个单元格中写入数据值。如果形状与相同的类似数组的数组data,请使用它来注释热图而不是数据。请注意,DataFrame将在位置而不是索引上匹配。
fmt : 字符串,可选 添加注释时要使用的字符串格式代码。
annot_kws :关键字值映射,可选
linewidths:浮点数,可选 将划分每个单元格的线的宽度。
linecolor: 颜色,可选 将划分每个单元格的线的颜色。
cbar : 布尔值,可选 是否绘制颜色条。
cbar_kws:键、值映射,可选 fig.colorbar的关键字参数。
cbar_ax : matplotlib轴,可选 在其中绘制颜色栏的轴,否则从主轴上占用空间。
square:布尔值,可选 如果为True,则将“轴”纵横比设置为“相等”,以便每个单元格为正方形。
xticklabels,yticklabels: “ auto”,布尔值,类似列表或int的,可选 如果为True,则绘制数据框的列名称。如果为False,则不要绘制列名。如果类似列表,则将这些替代标签绘制为xticklabel。如果是整数,请使用列名称,但仅绘制每n个标签。如果为“自动”,请尝试密集绘制不重叠的标签。
mask :布尔数组或DataFrame,可选 如果通过,数据将不会显示在mask为True的单元格中。缺少值的单元格将被自动屏蔽。
ax:matplotlib Axes,,可选 在其中绘制绘图的轴,否则使用当前活动的轴。
kwargs :其他关键字参数 所有其他关键字参数都传递给 matplotlib.axes.Axes.pcolormesh()。

返回 axmatplotlib Axes 使用热图轴对象。

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

例子

绘制一个numpy数组的热图:

  1. import numpy as np; np.random.seed(0)
  2. import seaborn as sns; sns.set()
  3. uniform_data = np.random.rand(10, 12)
  4. ax = sns.heatmap(uniform_data)

更改颜色图的限制:

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

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

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

绘制具有有意义的行和列标签的数据框:

  1. flights = sns.load_dataset("flights")
  2. flights = flights.pivot("month", "year", "passengers")
  3. ax = sns.heatmap(flights)

使用整数格式用数字值注释每个单元格:

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

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

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

使用其他颜色图:

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

将颜色图居中于特定值:

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

绘制其他所有列标签,而不绘制行标签:

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

不要绘制颜色条:

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

对颜色栏使用不同的轴:

  1. grid_kws = {"height_ratios": (.9, .05), "hspace": .3}
  2. f, (ax, cbar_ax) = plt.subplots(2, gridspec_kw=grid_kws)
  3. ax = sns.heatmap(flights, ax=ax,
  4. ... cbar_ax=cbar_ax,
  5. ... cbar_kws={"orientation": "horizontal"})

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

  1. corr = np.corrcoef(np.random.randn(10, 200))
  2. mask = np.zeros_like(corr)
  3. mask[np.triu_indices_from(mask)] = True
  4. with sns.axes_style("white"):
  5. f, ax = plt.subplots(figsize=(7, 5))
  6. ax = sns.heatmap(corr, mask=mask, vmax=.3, square=True)

回到顶部

©版权所有2012-2020,Michael Waskom。使用Sphinx 2.3.1 创建。林显祖于2020-03-13整理。