Python数据可视化seaborn(五) -- 分类统计图

分类数据可视化 - 统计图

barplot() / countplot() / pointplot()
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn  as sns
%matplotlib inline


#设置风格、尺度
sns.set_style("whitegrid") 
sns.set_context("paper")

#屏蔽警告
import warnings
warnings.filterwarnings('ignore')

1. 柱状图 - 置信区间估计

置信区间:样本均值+抽样误差
# 加载数据
titanic = sns.load_dataset('titanic')

sns.barplot(x='sex', y='survived', hue='class', data=titanic, palette='hls', 
            order=['male', 'female'],  # 类别筛选
            capsize=0.05,  # 误差线横向延伸宽度
            saturation=0.8,  # 颜色饱和度
            errcolor='gray', errwidth=2, # 误差线颜色,宽度
            ci='sd'  # 置信区间误差 -> 0-100内值、sd 、 None     
           )

#print(titanic.groupby(['sex', 'class']).mean()['survived'])
#print(titanic.groupby(['sex','class']).std()['survived'])

#titanic.head()

在这里插入图片描述

# 柱状图 - 置信区间估计

# 加载数据
tips = sns.load_dataset('tips')

sns.barplot(x='day', y='total_bill', hue='sex', data=tips, palette='Blues', edgecolor='w')

tips.groupby(['day','sex']).mean()

在这里插入图片描述

多柱状图 - 置信区间估计
# 加载数据
crashes = sns.load_dataset('car_crashes').sort_values('total', ascending=False)
#print(crashes.head())
# 创建图表
f, ax = plt.subplots(figsize=(6,15))

sns.set_color_codes('pastel')

# 设置第一个柱状图
sns.barplot(x='total', y='abbrev', data=crashes, label='Total', color='b', edgecolor='w')

# 设置第二个柱状图
sns.set_color_codes('muted')
sns.barplot(x='alcohol', y='abbrev', data=crashes, label='Alcohol-involved', color='b', edgecolor='w')

ax.legend(ncol=2, loc='lower right')  # 图例位置,右下角
sns.despine(left=True, bottom=True) # 不显示左侧和低侧轴

在这里插入图片描述

计数柱状图:countplot()

sns.countplot(x='class', hue='who', data=titanic, palette='magma')

#sns.countplot(y='class', hue='who', data=titanic, palette='magma')
# x/y -> 以x或者y轴绘图(横向、竖向)
# 用法和barplot相似

在这里插入图片描述

折线图 - 置信区间估计:pointplot()

# 折线图 - 置信区间估计:pointplot()

sns.pointplot(x='time', y='total_bill', hue='smoker', data=tips,
              palette='hls',
              dodge=True,  # 设置点是否分开
              join=True,  # 是否连线
              makers=['o', 'x'], linestyles=['-', '--'] # 设置点的样式、线型
             )

# 计算数据
# 用法和barplot相似
tips.groupby(['time', 'smoker']).mean()['total_bill']

在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jepson2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值