超详细Seaborn绘图 ——(五)pointplot

pointplot,如其名,就是点图。点图代表散点图位置的数值变量的中心趋势估计,并使用误差线提供关于该估计的不确定性的一些指示。

点图比条形图在聚焦一个或多个分类变量的不同级别之间的比较时更为有用。点图尤其善于表现交互作用:一个分类变量的层次之间的关系如何在第二个分类变量的层次之间变化。

重要的一点是点图仅显示平均值(或其他估计值),但在许多情况下,显示分类变量的每个级别的值的分布可能会带有更多信息。在这种情况下,其他绘图方法,例如箱型图或小提琴图可能更合适。

一、语法

seaborn.pointplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,
                  estimator=<function mean>, ci=95, n_boot=1000, units=None,
                  markers='o', linestyles='-', dodge=False, join=True, scale=1,
                  orient=None, color=None, palette=None, errwidth=None, capsize=None, ax=None, **kwargs)

二、参数详解

  • estimator:调用函数实现向量 -> 标量的映射
    在每个分箱内进行估计的统计函数。

  • ci:float 或 “sd” 或 None
    在估计值附近绘制置信区间的尺寸大小。如果是“sd”,则跳过引导阶段并绘制观察数据点的标准差。如果为 None,则不会执行引导过程,并且不会绘制误差块。

  • n_boot:int
    计算置信区间时使用的引导迭代次数

  • units:data 或 vector data 中变量的名称
    采样单元的标识符,用于执行多级引导过程(计算置信区间等)并能够处理重复测量的设定

  • markers:字符串或字符串列表
    用于每个hue色调的级别的标记

  • linestyles:字符串或字符串列表
    用于每个hue色调的级别的线条风格

  • join:bool
    如果为True,则在hue级别相同的点估计值之间绘制线条

  • scale:float
    绘图元素的比例因子

  • errwidth:float
    误差线(和上下限指示线)的厚度

  • capsize:float
    误差线“上下限指示线”的宽度

三、实例

绘制最简单的pointplot

plt.figure(dpi=150)
tips = sns.load_dataset("tips")
sns.pointplot(x="time", y="total_bill", data=tips)

在这里插入图片描述


绘制两个变量的pointplot

plt.figure(dpi=150)
sns.pointplot(x="time", y="total_bill",hue='smoker' ,data=tips)

在这里插入图片描述


通过dodge避免重叠

plt.figure(dpi=150)
sns.pointplot(x="time", y="total_bill",hue='smoker',
              dodge=True,data=tips)

在这里插入图片描述


以列表的形式修改每个分类变量标记点的样式以及线的样式

plt.figure(dpi=150)
sns.pointplot(x="time", y="total_bill", hue="smoker",data=tips,
              markers=["o", "x"],linestyles=["-", "--"],dodge=True)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他线条样式以及标记点的样式可以参考Matplotlib绘图


取消点与点之间的连线

plt.figure(dpi=150)
sns.pointplot(x="tip", y="day", data=tips,
              markers='h',join=False)

在这里插入图片描述
在这里插入图片描述


用中位数作为集中趋势的估计

from numpy import median
plt.figure(dpi=150)
sns.pointplot(x="tip", y="day", data=tips,
              markers='h',estimator=median)

在这里插入图片描述


用误差线显示均值的标准误差

from numpy import median
plt.figure(dpi=150)
sns.pointplot(x="day", y="tip", data=tips,
              markers='h',errwidth=1,ci=68,
             capsize=0.2)

在这里插入图片描述

显示观测值的标准偏差而不是置信区间

from numpy import median
plt.figure(dpi=150)
sns.pointplot(x="day", y="tip", data=tips,
              markers='h',errwidth=1,ci='sd',
             capsize=0.2)

在这里插入图片描述

还可以通过ci=None取消误差线的展示

from numpy import median
plt.figure(dpi=150)
sns.pointplot(x="day", y="tip", data=tips,
              markers='h',errwidth=1,ci=None,
             linestyles=':',capsize=0.2)

在这里插入图片描述

  • 8
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值