当前位置:   article > 正文

Python可视化 | Seaborn之seaborn.heatmap()热力图

seaborn.heatmap

Seaborn之seaborn.distplot()

Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。
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)
  • 1

Signature:
sns.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,
)
Docstring:
Plot rectangular data as a color-encoded matrix.
将矩形数据绘制为颜色编码矩阵。

This is an Axes-level function and will draw the heatmap into the
currently-active Axes if none is provided to the ax argument. Part of
this Axes space will be taken and used to plot a colormap, unless cbar
is False or a separate Axes is provided to cbar_ax.
这是一个坐标轴级的函数,如果没有提供给ax参数,它会将热力图绘制到当前活动的轴中。除非cbar为False或为cbar_ax提供单独的Axes,否则将使用此轴空间的一部分绘制颜色图。

Parameters
参数

data : rectangular dataset 矩形数据集
2D dataset that can be coerced into an ndarray. If a Pandas DataFrame
is provided, the index/column information will be used to label the
columns and rows.
可以强制转换为ndarray格式数据的2维数据集。如果提供了Pandas DataFrame数据,索引/列信息将用于标记列和行。

vmin, vmax : floats, optional 浮点型数据,可选参数。
Values to anchor the colormap, otherwise they are inferred from the
data and other keyword arguments.
用于锚定色彩映射的值,否则它们是从数据和其他关键字参数推断出来的。

cmap : matplotlib colormap name or object, or list of colors, optional
颜色条名称或者对象,或者是颜色列表,可选参数。
The mapping from data values to color space. If not provided, the
default will depend on whether center is set.
从数据值到颜色空间的映射。 如果没有提供,默认值将取决于是否设置了“center”。

center : float, optional 浮点数,可选参数。
The value at which to center the colormap when plotting divergant data.
Using this parameter will change the default cmap if none is
specified.
绘制有色数据时将色彩映射居中的值。 如果没有指定,则使用此参数将更改默认的cmap。

robust : bool, optional 布尔值,可选参数。
If True and vmin or vmax are absent, the colormap range is
computed with robust quantiles instead of the extreme values.
如果是True,并且vmin或vmax为空,则使用稳健分位数而不是极值来计算色彩映射范围。

annot : bool or rectangular dataset, optional 布尔值或者矩形数据,可选参数。
If True, write the data value in each cell. If an array-like with the
same shape as data, then use this to annotate the heatmap instead
of the data. Note that DataFrames will match on position, not index.
如果为True,则在每个热力图单元格中写入数据值。 如果数组的形状与data相同,则使用它来代替原始数据注释热力图。

fmt : string, optional 字符串,可选参数。
String formatting code to use when adding annotations.
添加注释时要使用的字符串格式代码。

annot_kws : dict of key, value mappings, optional 字典或者键值对,可选参数。
Keyword arguments for ax.text when annot is True.
当annot为True时,ax.text的关键字参数。

linewidths : float, optional 浮点数,可选参数。
Width of the lines that will divide each cell.
划分每个单元格的行的宽度。

linecolor : color, optional 颜色,可选参数
Color of the lines that will divide each cell.
划分每个单元的线条的颜色。
描述是否绘制颜色条。

cbar : boolean, optional 布尔值,可选参数。
Whether to draw a colorbar.

cbar_kws : dict of key, value mappings, optional 字典或者键值对,可选参数。
Keyword arguments for fig.colorbar.
fig.colorbar的关键字参数。

**cbar_ax** : matplotlib Axes, optional 可选参数。
Axes in which to draw the colorbar, otherwise take space from the
main Axes.
用于绘制颜色条的轴,否则从主轴获取。

square : boolean, optional 布尔值,可选参数。
If True, set the Axes aspect to “equal” so each cell will be
square-shaped.
如果为True,则将坐标轴方向设置为“equal”,以使每个单元格为方形。

xticklabels, yticklabels : “auto”, bool, list-like, or int, optional
如果为True,则将坐标轴方向设置为“equal”,以使每个单元格为方形。

If True, plot the column names of the dataframe. If False, don’t plot
the column names. If list-like, plot these alternate labels as the
xticklabels. If an integer, use the column names but plot only every
n label. If “auto”, try to densely plot non-overlapping labels.
如果为True,则绘制数据框的列名称。如果为False,则不绘制列名称。如果是列表,则将这些替代标签绘制为xticklabels。如果是整数,则使用列名称,但仅绘制每个n标签。如果是“auto”,将尝试密集绘制不重叠的标签。

mask : boolean array or DataFrame, optional 布尔数组或者DataFrame数据,可选参数。
If passed, data will not be shown in cells where mask is True.
Cells with missing values are automatically masked.
如果为空值,数据将不会显示在mask为True的单元格中。 具有缺失值的单元格将自动被屏蔽。

ax : matplotlib Axes, optional matplotlib Axes,可选参数。
Axes in which to draw the plot, otherwise use the currently-active
Axes.
绘制图的坐标轴,否则使用当前活动的坐标轴。

kwargs : other keyword arguments 其他关键字参数。
All other keyword arguments are passed to:func:matplotlib.axes.Axes.pcolormesh.
所有其他关键字参数都传递给ax.pcolormesh。

Returns
返回值

ax : matplotlib Axes
Axes object with the heatmap.
热力图的轴对象。

See also
另请参见

clustermap : Plot a matrix using hierachical clustering to arrange the
rows and columns.
使用分层聚类绘制矩阵以排列行和列。

Examples

Plot a heatmap for a numpy array:
使用分层聚类绘制矩阵以排列行和列。
… plot::
:context: close-figs

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

在这里插入图片描述

Change the limits of the colormap:
更改默认的colormap范围:
… plot::
:context: close-figs

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

在这里插入图片描述

Plot a heatmap for data centered on 0 with a diverging colormap:
使用发散色图绘制以0为中心的数据的热力图:
… plot::
:context: close-figs

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

在这里插入图片描述

Plot a dataframe with meaningful row and column labels:
使用特定的行和列标签绘制dataframe:
… plot::
:context: close-figs

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

在这里插入图片描述

Annotate each cell with the numeric value using integer formatting:
使用整数格式的数字值注释每个小单元格:
… plot::
:context: close-figs

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

在这里插入图片描述

Add lines between each cell:
在每个单元格之间添加线:
… plot::
:context: close-figs

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

在这里插入图片描述

Use a different colormap:
使用不同的colormap:
… plot::
:context: close-figs

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

在这里插入图片描述

Center the colormap at a specific value:
将colormap置于特定值的中心:
… plot::
:context: close-figs

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

在这里插入图片描述

Plot every other column label and don’t plot row labels:
绘制每个其他列标签,而不绘制行标签:
… plot::
:context: close-figs

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

在这里插入图片描述

Don’t draw a colorbar:
不绘制颜色条:
… plot::
:context: close-figs

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

在这里插入图片描述

Use different axes for the colorbar:
在不同的坐标轴方向绘制颜色条:
… plot::
:context: close-figs

>>> 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"})
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

Use a mask to plot only part of a matrix
使用遮罩绘制矩阵中的一部分
… plot::
:context: close-figs

>>> 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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

Type: function
类型:方法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/166859
推荐阅读
相关标签
  

闽ICP备14008679号