seaborn系列 (13) | 点图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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

参数解读

在这里插入图片描述

x,y,hue:数据字段变量名(如上表,date,name,age,sex为数据字段变量名)
作用:根据实际数据,x,y常用来指定x,y轴的分类名称,hue常用来指定第二次分类的数据类别(用颜色区分)

data: DataFrame,数组或数组列表

order,hue_order:字符串列表
作用:显式指定分类顺序,eg. order=[字段变量名1,字段变量名2,...]

estimator:可回调函数
作用:设置每个分类箱的统计函数

ci:float或者"sd"或None
在估计值附近绘制置信区间的大小,如果是"sd",则跳过bootstrapping并绘制观察的标准差,如果为None,则不执行bootstrapping,并且不绘制错误条。

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

markers:字符串或字符串列表
作用:标记符号
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

案例教程

案例代码已上传:Github地址

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="darkgrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例1:
利用catplot()来实现boxplot()的效果(通过指定kind="box")
"""
sns.pointplot(x="time", y="total_bill", data=tips)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="darkgrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例2:
设置hue来对已分组的数据进行第二次分类(通过颜色区别)
"""
sns.pointplot(x="time", y="total_bill", hue="smoker",
              data=tips)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="darkgrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例3:
设置dodge=True实现 沿着分类轴分离不同色调级别的点(hue指定的分类)
"""
sns.pointplot(x="time", y="total_bill", hue="smoker",
              data=tips, dodge=True)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="darkgrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例4:
设置markers=["o", "x"]和线型linestyles=["-", "--"]
"""
sns.pointplot(x="time", y="total_bill", hue="smoker",
              data=tips,markers=["o", "x"],linestyles=["-", "--"])
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="darkgrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例5:
设置调色板palette=Set2,颜色体现在hue的分组数据上
"""
sns.pointplot(x="time", y="total_bill", hue="smoker",
              data=tips, palette="Set2")
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="darkgrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例6:
设置order=["变量名1","变量名2",...]来显示指定分类顺序
"""
sns.pointplot(x="time", y="tip", data=tips,
              order=["Dinner", "Lunch"])
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
from numpy import median
# 设置样式风格
sns.set(style="darkgrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例7:
使用中位数作为中心趋势的估计值
"""
sns.pointplot(x="day", y="tip", data=tips, estimator=median)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="darkgrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例8:
使用catplot()实现pointplot()的效果(通过设置kind="point")
"""
sns.catplot(x="sex", y="total_bill",
            hue="smoker", col="time",
            data=tips, kind="point",
            dodge=True,
            height=4, aspect=.7)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述

案例地址

上述案例代码已上传:Github地址
Github地址https://github.com/Vambooo/SeabornCN

更多技术干货在公众号:数据分析与可视化学研社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值