seaborn.ecdfplot#

seaborn.ecdfplot(data=None, *, x=None, y=None, hue=None, weights=None, stat='proportion', complementary=False, palette=None, hue_order=None, hue_norm=None, log_scale=None, legend=True, ax=None, **kwargs)#

绘制经验累积分布函数。

ECDF 表示数据集每个唯一值下方的数据观测值的比例或数量。与直方图或密度图相比,ECDF 的优势在于它可以直接可视化每个观测值,这意味着没有需要调整的 binning 或平滑参数。它还有助于在多个分布之间进行直接比较。缺点是,图的外观与分布的基本属性(如其中心趋势、方差以及是否存在双峰)之间的关系可能不像直观那样清晰。

更多信息请参阅 用户指南.

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

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

x, ydata 中的向量或键

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

huedata 中的向量或键

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

weightsdata 中的向量或键

如果提供,请使用这些值来加权相应数据点对累积分布的贡献。

stat{{“proportion”, “percent”, “count”}}

要计算的分布统计量。

complementarybool

如果为 True,则使用互补 CDF (1 - CDF)

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

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

hue_order字符串向量

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

hue_norm元组或 matplotlib.colors.Normalize

可以是设置数据单位中归一化范围的一对值,也可以是将数据单位映射到 [0, 1] 区间的对象。使用表示数值映射。

log_scalebool 或数字,或 bool 或数字对

将轴刻度设置为对数。单个值设置图中任何数值轴的数据轴。一对值独立地设置每个轴。数值被解释为所需的基数(默认值为 10)。当为 NoneFalse 时,seaborn 将采用现有的 Axes 刻度。

legendbool

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

axmatplotlib.axes.Axes

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

kwargs

其他关键字参数将传递给 matplotlib.axes.Axes.plot()

返回值:
matplotlib.axes.Axes

包含绘图的 matplotlib 轴。

另请参阅

displot

用于分布图函数的图形级接口。

histplot

绘制带可选归一化或平滑的 binned 计数直方图。

kdeplot

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

rugplot

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

示例

在 x 轴上绘制单变量分布

penguins = sns.load_dataset("penguins")
sns.ecdfplot(data=penguins, x="flipper_length_mm")
../_images/ecdfplot_1_0.png

通过将数据变量分配给 y 轴来翻转绘图

sns.ecdfplot(data=penguins, y="flipper_length_mm")
../_images/ecdfplot_3_0.png

如果既没有分配 x 也没有分配 y,则数据集将被视为宽格式,并且将为每个数值列绘制直方图

sns.ecdfplot(data=penguins.filter(like="bill_", axis="columns"))
../_images/ecdfplot_5_0.png

您还可以使用色调映射从长格式数据集中绘制多个直方图

sns.ecdfplot(data=penguins, x="bill_length_mm", hue="species")
../_images/ecdfplot_7_0.png

默认分布统计量已归一化以显示比例,但您可以改为显示绝对数量或百分比

sns.ecdfplot(data=penguins, x="bill_length_mm", hue="species", stat="count")
../_images/ecdfplot_9_0.png

还可以绘制经验互补 CDF (1 - CDF)

sns.ecdfplot(data=penguins, x="bill_length_mm", hue="species", complementary=True)
../_images/ecdfplot_11_0.png