seaborn.histplot#

seaborn.histplot(data=None, *, x=None, y=None, hue=None, weights=None, stat='count', bins='auto', binwidth=None, binrange=None, discrete=None, cumulative=False, common_bins=True, common_norm=True, multiple='layer', element='bars', fill=True, shrink=1, kde=False, kde_kws=None, line_kws=None, thresh=0, pthresh=None, pmax=None, cbar=False, cbar_ax=None, cbar_kws=None, palette=None, hue_order=None, hue_norm=None, color=None, log_scale=None, legend=True, ax=None, **kwargs)[源代码]#

绘制单变量或双变量直方图以显示数据集的分布。

直方图是一种经典的可视化工具,它通过计算落在离散区间内的观测值数量来表示一个或多个变量的分布。

此函数可以对每个区间内计算的统计量进行归一化,以估计频率、密度或概率质量,并且可以使用核密度估计添加平滑曲线,类似于 kdeplot()

更多信息请参见 用户指南

参数:
数据 : pandas.DataFrame, numpy.ndarray, 映射, 或序列pandas.DataFrame, numpy.ndarray, 映射, 或序列

输入数据结构。可以是可分配给命名变量的长格式向量集合,也可以是将被内部重塑的宽格式数据集。

x, y : data 中的向量或键向量或键

指定x轴和y轴位置的变量。

hue : data 中的向量或键向量或键

语义变量,用于映射以确定绘图元素的颜色。

权重 : 向量或 数据 中的键向量或键

如果提供,则根据这些因素对每个箱子中的相应数据点对计数的贡献进行加权。

统计str

每个区间内要计算的聚合统计量。

  • count: 显示每个区间内的观察次数

  • frequency: 显示观测值的数量除以区间宽度

  • 概率比例:标准化使得条形高度总和为1

  • percent: 标准化使得条形高度总和为100

  • density: 归一化使得直方图的总面积等于1

bins字符串、数字、向量,或一对这样的值

通用 bin 参数,可以是参考规则的名称、bin 的数量,或者是 bin 的边界。传递给 numpy.histogram_bin_edges()

binwidth数字或一对数字

每个箱子的宽度,覆盖 bins 但可以与 binrange 一起使用。

binrange一对数字或一对对

分箱边缘的最小值和最大值;可以与 binsbinwidth 一起使用。默认为数据极值。

离散布尔

如果为真,默认使用 binwidth=1 并绘制条形图,使它们位于相应数据点的中心。这避免了在使用离散(整数)数据时可能出现的“间隙”。

累积布尔

如果为真,随着箱子增加绘制累积计数。

常用二进制文件布尔

如果为真,当语义变量生成多个图时使用相同的箱。如果使用参考规则来确定箱,它将使用完整数据集计算。

common_norm布尔

如果为 True 并且使用标准化统计量,标准化将应用于整个数据集。否则,分别对每个直方图进行标准化。

多个{“layer”, “dodge”, “stack”, “fill”}

在语义映射创建子集时解决多个元素的方法。仅与单变量数据相关。

元素{“bars”, “step”, “poly”}

直方图统计的可视化表示。仅与单变量数据相关。

填充布尔

如果为真,则填充直方图下的空间。仅与单变量数据相关。

缩小数字

通过此因子调整每个条形的宽度相对于箱宽的比例。仅与单变量数据相关。

kde布尔

如果为真,计算核密度估计以平滑分布,并在图中显示为(一条或多条)线。仅与单变量数据相关。

kde_kwsdict

控制 KDE 计算的参数,如在 kdeplot() 中。

line_kwsdict

控制KDE可视化的参数,传递给 matplotlib.axes.Axes.plot()

thresh数字或无

统计值小于或等于此值的单元格将变为透明。仅与双变量数据相关。

pthresh数字或无

类似于 thresh,但这是一个在 [0, 1] 范围内的值,使得具有总计数(或其他统计数据,当使用时)达到总数的这一比例的单元格将变为透明。

pmax数字或无

一个在 [0, 1] 范围内的值,用于设置颜色映射的饱和点,使得低于此值的单元格构成总数的这一比例(或其他统计量,当使用时)。

cbar布尔

如果为真,在双变量图中添加一个颜色条以标注颜色映射。注意:目前不支持带有 hue 变量的图。

cbar_axmatplotlib.axes.Axes

颜色条的预先存在的轴。

cbar_kwsdict

传递给 matplotlib.figure.Figure.colorbar() 的额外参数。

palette : 字符串, 列表, 字典, 或 matplotlib.colors.Colormap字符串, 列表, 字典, 或

选择用于映射 hue 语义的颜色时的方法。字符串值传递给 color_palette()。列表或字典值意味着分类映射,而颜色映射对象意味着数值映射。

hue_order字符串向量

指定 hue 语义的分类级别的处理和绘图顺序。

hue_norm : 元组或 matplotlib.colors.Normalize元组或

一对设置数据单位归一化范围的值,或一个将数据单位映射到 [0, 1] 区间的对象。使用时意味着数值映射。

颜色 : matplotlib 颜色matplotlib 颜色

当不使用色调映射时,指定单一颜色。否则,绘图将尝试连接到 matplotlib 属性循环。

log_scale布尔值或数字,或布尔值或数字对

将轴比例设置为对数。单个值设置图中任何数值轴的数据轴。一对值分别独立设置每个轴。数值被解释为所需的对数底数(默认10)。当为 NoneFalse 时,seaborn 将遵循现有的 Axes 比例。

图例布尔

如果为 False,则抑制语义变量的图例。

axmatplotlib.axes.Axes

图形的预先存在的轴。否则,在内部调用 matplotlib.pyplot.gca()

kwargs

其他关键字参数传递给以下matplotlib函数之一:

返回:
matplotlib.axes.Axes

包含图形的 matplotlib 轴。

参见

displot

图级接口到分布图函数。

kdeplot

使用核密度估计绘制单变量或双变量分布图。

rugplot

在 x 轴和/或 y 轴上每个观测值处绘制一个刻度。

ecdfplot

绘制经验累积分布函数。

jointplot

绘制一个带有单变量边缘分布的双变量图。

注释

计算和绘制直方图时选择的箱子(bins)可以对从可视化中获得的洞察产生重大影响。如果箱子太大,它们可能会抹去重要的特征。另一方面,太小的箱子可能会被随机变异性所主导,掩盖了真实基础分布的形状。默认的箱子大小是根据依赖于样本大小和方差的参考规则确定的。这在许多情况下(即,对于“行为良好”的数据)效果很好,但在其他情况下则不然。尝试不同的箱子大小总是一个好主意,以确保你没有遗漏重要的东西。此函数允许你以几种不同的方式指定箱子,例如通过设置要使用的箱子总数、每个箱子的宽度,或箱子应该断开的具体位置。

示例