• seaborn 笔记: 绘制分类数据


    0 导入库

    1. import seaborn as sns
    2. import matplotlib.pyplot as plt
    3. sns.set_theme(style="ticks", color_codes=True)

    1 scatterplot

            catplot() 中数据的默认表示。

            数据如下:

    1. tips = sns.load_dataset("tips")
    2. tips

    1.1 默认情况

    sns.catplot(x="day", y="total_bill", data=tips)

     1.2 控制抖动

    jitter 参数控制抖动的大小或完全禁用它:

    1. sns.catplot(x="day", y="total_bill", data=tips,
    2. jitter=0.7)

    1. sns.catplot(x="day", y="total_bill", data=tips,
    2. jitter=False)

     1.3 swamplot

            第二种防止重叠的方法使用算法沿分类轴调整点。 它可以更好地表示观察的分布,尽管它只适用于相对较小的数据集

            这种plot被称为“beeswarm”,在 seaborn 中由 swarmplot() 绘制,或者通过在 catplot() 中设置 kind="swarm" 来绘制:

    1. sns.catplot(x="day", y="total_bill", data=tips,
    2. kind='swarm')

    sns.swarmplot(x="day", y="total_bill", data=tips)

     

     1.4 添加一个维度

    (catplot只支持hue,不支持size和style)

    1. sns.catplot(x="day", y="total_bill", data=tips,kind='swarm',
    2. hue='sex')

     1.5 横置图像

    交换变量的赋值

    1. sns.catplot(x="total_bill", y="day", data=tips,kind='swarm',
    2. hue='sex')

    1.6 改变几个catalog的顺序

    1. sns.catplot(x="day", y="total_bill", data=tips,kind='swarm',hue='sex',
    2. order=['Thur','Sun','Fri','Sat'])

     

     

     2 箱式图

     2.1 基本绘图

    1. sns.catplot(x="total_bill", y="day", data=tips,
    2. kind='box')

    2.2. 用hue进行分类

    1. sns.catplot(x="total_bill", y="day", data=tips,kind='box',
    2. hue='sex')

    3 Boxen

    和Box很像,但是提供了更多的信息

    1. diamonds = sns.load_dataset("diamonds")
    2. sns.catplot(x="color", y="price", kind="boxen",
    3. data=diamonds.sort_values("color"))

     4 violinplot

    1. sns.catplot(x="total_bill", y="day",data=tips,
    2. kind="violin")

     4.1 hue

    1. sns.catplot(x="total_bill", y="day",kind="violin", data=tips,
    2. hue='sex')

    4.1.1 hue+split

    如果hue是二分类的话,可以加split=True,来更好地利用空间 

    1. sns.catplot(x="total_bill", y="day",kind="violin", data=tips,
    2. hue='sex',split=True)

     5 双图叠加

    5.1 swam+violin

    1. g=sns.catplot(x="total_bill", y="day",kind="violin", data=tips,split=True)
    2. sns.swarmplot(x="total_bill", y="day", color='k',size=3,data=tips,
    3. ax=g.ax)

    6 柱状图

    6.0 数据集

    1. titanic = sns.load_dataset("titanic")
    2. titanic

    6.1 基础柱状图 

    当每个类别中有多个观察值时,将计算估计值周围的置信区间(柱状图的值是平均值)

    sns.catplot(x="sex", y="survived",  kind="bar", data=titanic)

    6.2 hue进行分类

    1. sns.catplot(x="sex", y="survived", kind="bar", data=titanic,
    2. hue="class")

     

     6.3 不计算平均值,计算数量

    1. sns.catplot(x="sex", kind="count", data=titanic,
    2. hue="class")

     

    sns.countplot(x="sex", data=titanic, hue="class")

    7 pointplot

    和柱状图想要说明的内容是类似的,不过这里用点和线表示了均值和置信区间

    1. sns.catplot(x="sex", y="survived", hue="class", data=titanic,
    2. kind="point")

    7.1 markers

    设置不同hue中点的形状

    1. sns.catplot(x="sex", y="survived", hue="class", data=titanic, kind="point",
    2. markers=['*','+','o'])

     

     7.2 linestyles

    1. sns.catplot(x="sex", y="survived", hue="class", data=titanic, kind="point",
    2. linestyles=['-','--',':'])

     

  • 相关阅读:
    Android 获取某月所有的日期和星期
    强烈建议:语文教师能不吃的苦尽量别吃
    DOM 简介 | 深入了解DOM
    模拟退火--学习笔记
    SpringBoot整合SpringSession实现分布式登录
    双目立体校正
    灰狼算法Grey Wolf Optimizer跑23个经典测试函数|含源码
    React native Navigation传值跳转小白教程
    零数科技受邀出席2019全球未来出行大会
    计算机硬件的读写速度差异
  • 原文地址:https://blog.csdn.net/qq_40206371/article/details/126112413