- Seaborn 教程
- Seaborn - 首页
- Seaborn - 简介
- Seaborn - 环境配置
- 导入数据集和库
- Seaborn - 图表美化
- Seaborn - 调色板
- Seaborn - 直方图
- Seaborn - 核密度估计
- 可视化成对关系
- Seaborn - 绘制分类数据
- 观测值的分布
- Seaborn - 统计估计
- Seaborn - 绘制宽格式数据
- 多面板分类图
- Seaborn - 线性关系
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函数参考
- Seaborn - 函数参考
- Seaborn 有用资源
- Seaborn - 快速指南
- Seaborn - 有用资源
- Seaborn - 讨论
Seaborn.ecdfplot() 方法
Seaborn.edcfplot() 方法用于绘制经验累积分布函数。
经验累积分布函数表示数据集中低于每个不同值的观测值的百分比或计数。它的优点是每个观测值都直接显示,而不是像直方图或密度图那样,因此无需更改分箱或平滑设置。它也使直接比较不同的分布更容易。
一个缺点是,直观地理解图表外观与分布的基本特征(如其集中趋势、方差和是否存在双峰性)之间的联系可能不够清晰。
语法
以下是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
参数
上述方法的一些参数如下所示。
序号 | 参数和描述 |
---|---|
1 | x,y 表示在x,y轴上的变量。 |
2 | Hue 这将生成具有不同颜色的元素。它是一个分组变量。 |
3 | Complementary 此参数用于绘制累积分布函数的补集,即;1-CDF。 |
4 | Stat 此参数取值proportion和count。它是要计算的分布统计量。 |
5 | palette 当也考虑色调映射时,此参数设置图表的颜色。 |
6 | Hue_order 在色调语义中绘制分类变量的顺序。 |
7 | Hue_norm 用于设置色调语义中数据单位的归一化范围。提供一对数据值。 |
8 | Weights 如果传递此参数,则这些数字将用于加权各个数据点对累积分布的贡献。 |
9 | Log_scale 将轴刻度设置为对数,绘制的值也为对数刻度。 |
10 | Legend 布尔值。如果为false,则不打印语义变量的图例。 |
在继续绘制图表之前,让我们加载seaborn库和数据集。
加载seaborn库
要加载或导入seaborn库,可以使用以下代码行。
Import seaborn as sns
加载数据集
在本文中,我们将使用seaborn库中内置的Tips数据集。使用以下命令加载数据集。
tips=sns.load_dataset("tips")
以下命令用于查看数据集中前5行。这使我们能够了解可以使用哪些变量来绘制图表。
tips.head()
以下是上述代码的输出。
index,total_bill,tip,sex,smoker,day,time,size 0,16.99,1.01,Female,No,Sun,Dinner,2 1,10.34,1.66,Male,No,Sun,Dinner,3 2,21.01,3.5,Male,No,Sun,Dinner,3 3,23.68,3.31,Male,No,Sun,Dinner,2 4,24.59,3.61,Female,No,Sun,Dinner,4
现在我们已经加载了数据,我们将继续绘制数据。
示例1
在这个例子中,我们将看到如何为数据集中单个变量绘制经验累积分布函数图。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() sns.ecdfplot(data=tips, x="tip") plt.show()
输出
上述代码的输出如下所示。
示例2
在这个例子中,我们将看到stat参数的用法。它可以取值proportion和count。它用于指定要计算的分布统计量。
将“proportion”传递给stat参数。执行此操作的代码如下所示。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() sns.ecdfplot(data=tips, x="tip",hue="time",stat="proportion") plt.show()
输出
以下代码行的输出如下
将“count”传递给stat参数。执行此操作的代码如下所示。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() sns.ecdfplot(data=tips, x="tip",hue="time",stat="count") plt.show()
以下代码行的输出如下
示例3
seaborn.ecdfplot() 方法的complementary参数用于绘制累积分布函数的补集,它使用1-CDF计算。如果为True,则打印补集。如下所示。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() sns.ecdfplot(data=tips, x="tip",hue="time",stat="proportion",complementary=True) plt.show()
输出
对于上面给出的代码片段,将绘制以下输出。
示例4
在这个例子中,我们将看到如何不发送任何参数,但仍然能够在屏幕上绘制数据。
如果既未赋值x也未赋值y,则数据集将作为宽格式处理,并为每个数值列创建一个直方图。
以下代码行也可以用于数据集中有多个同名列或以相同名称开头的列的情况。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() sns.ecdfplot(data=tips.filter(like="total_", axis="columns")) plt.show()
输出
代码片段的输出如下所示。