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

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

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

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

目录

  • 一、语法
  • 二、参数详解
  • 三、实例

一、语法

seaborn.pointplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,
                  estimator=, 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)

超详细Seaborn绘图 ——(五)pointplot_第1张图片


绘制两个变量的pointplot

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

超详细Seaborn绘图 ——(五)pointplot_第2张图片


通过dodge避免重叠

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

超详细Seaborn绘图 ——(五)pointplot_第3张图片


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

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

超详细Seaborn绘图 ——(五)pointplot_第4张图片
超详细Seaborn绘图 ——(五)pointplot_第5张图片
超详细Seaborn绘图 ——(五)pointplot_第6张图片

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


取消点与点之间的连线

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

超详细Seaborn绘图 ——(五)pointplot_第7张图片
超详细Seaborn绘图 ——(五)pointplot_第8张图片


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

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

超详细Seaborn绘图 ——(五)pointplot_第9张图片


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

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)

超详细Seaborn绘图 ——(五)pointplot_第10张图片

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

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)

超详细Seaborn绘图 ——(五)pointplot_第11张图片

还可以通过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)

超详细Seaborn绘图 ——(五)pointplot_第12张图片

你可能感兴趣的:(数据可视化,#,Seaborn)