用 Seaborn 做数据可视化(1)——绘图功能(2)可视化分类数据:sns.catplot()

标签: Numpy-Pandas-Matplotlib  可视化  数据分析

0. 概述

可视化分类数据

上一篇相关型的绘图主要进行的是的大部分变量都是数值型变量的数据可视化。
但是对于大多数变量都是 分类(离散型) 的数据这种情况,我们使用 catplot() 函数。(与操作数值型数据的 relplot( ) 相似)

主要有以下几种:
在这里插入图片描述

注:Seaborn 中的绘图方法有类似 barplot()、boxplot() 这种简单的函数,它们绘制在特定的matplotlib轴上,这种函数被是" axes-level function ";
相对地,Seaborn 还有一类高级的函数,比如之前见到的 relplot() 以及本篇中的 catplot() ,它能将上面提到的“低级函数与 FacetGrid 相结合,构造出一种非常简明的快速绘制函数,这种函数是 “ figure-level function ”。

1. 分类散点图

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="ticks", color_codes=True)
tips = sns.load_dataset("tips")

1.1 catplot() 默认 kind=‘strip’

# catplot() 内置kind:stripplot()
sns.catplot(x="day", y="total_bill", data=tips);

在这里插入图片描述

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

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

在这里插入图片描述

1.2 catplot(kind=‘swarm’)

# 另一个 kind:swarmplot(),不过仅仅在小数据集上好用
sns.catplot(x="day", y="total_bill", kind="swarm", data=tips);

在这里插入图片描述

  • 参数 hue

与关系型绘图一样,也可以通过参数 hue 来增加维度,不过目前还不支持 size 和 style
sns.catplot(x=“day”, y=“total_bill”, hue=“sex”, kind=“swarm”, data=tips);

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

在这里插入图片描述

2. 类中观测值分布

2.1 catplot(kind=‘box’)

即Boxplots 箱线图。
从上到下依次:离群点、上界、上四分位数、均值、中位数、下四分位数、下界、离群点

# 参数 kind="box"
sns.catplot(x="day", y="total_bill", kind="box", data=tips);

在这里插入图片描述

  • 参数 hue
# 添加参数 hue(增加一个维度)
sns.catplot(x="day", y="total_bill", hue="smoker", kind="box", data=tips);

在这里插入图片描述

2.2 catplot(kind=“boxen”)

适合大数据

# 参数 kind="boxen" 适合大数据
diamonds = sns.load_dataset("diamonds")
sns.catplot(x="color", y="price", kind="boxen",
            data=diamonds.sort_values("color"));

在这里插入图片描述

2.3 catplot(kind=“violin”)

与 KDE 结合

# 参数 kind=“violin” :它将箱线图和核密度估计(kde: kernel density estimation)结合起来
sns.catplot(x="total_bill", y="day", hue="time",
            kind="violin", data=tips);

在这里插入图片描述

3. 类中统计评估

3.1 catplot(kind=“bar”)

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

在这里插入图片描述-

3.2 catplot(kind=“count”)

# 参数 kind="count":只可视化每个分类下观测值/样本的数量而不是计算统计量(kind="count")
sns.catplot(x="deck", kind="count", palette="ch:.25", data=titanic);

在这里插入图片描述
后面暂略

可视化“宽型”数据

使用分面图进行多变量关系分析

参考:
Seaborn(sns)官方文档学习笔记(第五章 分类数据的绘制)

版权声明:本文为Robin_Pi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Robin_Pi/article/details/103951168

智能推荐

数据可视化之seaborn(2)

接下来就要进行一些具体类型图的操作,先了解一下seaborn中包含的类型图: 分类图:柱状图barplot、箱线图boxplot、小提琴图violinplot、散点图(stripplot、swarmplot),以及分面网格(FacetGrid)、分类图catplot。 关联图:散点图scatterplot、线图lineplot、以及分面网格(FacetGrid)、关联图relplot。 分布图:单...

详细的数据可视化库之Seaborn教程(二)——catplot:分类型数据作坐标轴画图

文章目录 catplot(): 用分类型数据(categorical data)绘图 一、分类散点图 “分类坐标轴” 1.catplot(kind="strip")默认 2、蜂群图:catplot(kind="swarm") hue参数:利用不同颜色区分 order参数:指定分类值顺序 有些时候把分类变量放在垂直坐标轴上会更有帮助(尤...

Seaborn 可视化

Seaborn 可视化 1.简介 Seaborn是一个在Python中制作有吸引力和信息丰富的统计图形的库。它建立在matplotlib之上,并与PyData堆栈紧密集成,包括支持来自scipy和statsmodels的numpy和pandas数据结构和统计例程。 Seaborn旨在将可视化作为探索和理解数据的核心部分。绘图函数对包含整个数据集的数据框和数组进行操作,并在内部执行必要的聚合和统计模...

seaborn可视化

In [8]: In [9]: Out[9]:   x y 0 0.571117 -0.158731 1 2.522765 2.033863 2 -3.413121 -0.566827 3 -1.788482 -0.308131 4 3.565947 2.668333 In [10]: In [11]: In [14]: In ...

数据可视化——利用pandas和seaborn绘图基础

一.折线图 1.Series和DataFrame都有一个plot属性,用于绘制基本的图形。默认情况下,plot绘制的是折线图 2.Series对象的索引作为图像的x轴,通过设置参数ues_index = False来禁用这个功能 DataFrame的plot方法在同一个子图中将每一列绘制为不同的折线 二.柱状图 2.plot.bar()和plat.barh()可以分别绘制垂直和水平的柱状图 通过设...

猜你喜欢

Docker-Compose部署nginx 和lnmp

Docker-Compose tomcat lnmp tomcat 使用Docker-Compose部署Nginx代理Tomcat集群,实现负载均衡 在这个目录下创建多个目录 切换到nginx目录修改nginx的主配置文件: [root@host1 compose]# cd nginx/ [root@host1 nginx]# vim default.conf 在末尾添加: 修改: 切换到tmca...

19-20年月度行业分析

Table of Contents 1  对各一级行业分析 2  对女装行业进行分析 对各一级行业分析 platform cid industry category themonth 销售额 访客 客群指数 行业简称 月 年 年月 0 天猫 50010368 ZIPPO/瑞士军刀/眼镜 太阳眼镜 2020-01-01 62484514.13 6663217 ...

Python数据分析入门

博客原文:https://ouduidui.cn/blog/detail?blogId=5fcddf5c61ae700fd80190db 基础知识 数据的分类 数值型数据 表示大小或多少的数据 例子:年龄、年购买量 数值型数据分析方法 最小值和最大值:查看这两个值的目的是为了能够确定一组数据的上界和下界。 **平均值:**平均值可以反映一组数据的综合水平。 **中位数:**中位数和平均数一样都是用...

1.Java基础入门 -(10)流程控制-循环嵌套结构

什么是循环嵌套? 循环嵌套就是在循环体内,包含一个完成的循环结构。(我们在if嵌套里讲过) 示例1:使用双重循环输出九九乘法表。 运行结果: 示例2:请打印直角三角形。 (这里用 . 代替 空格 方便演示) 运行结果: 示例3:请打印等腰三角形。 运行结果: 示例4:请输出1-100之间的素数。 质数又称为素数,是一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数...

AlertDialogDemo自定义使用方法

效果图如下: Dialog左边的按钮忘记支付密码写错了 已修复 图就不改了 功能需求点击重试 再次打开输入支付密码页面 点击忘记支付密码跳转密码设置页面 此Demo只为演示AlertDialog的使用方法以及资源属性设置 需要其他功能请留言说明 这是一个支付密码输入失败的弹框 自定义了基本属性 XMl布局dialog_common 圆角框的属性commen_dialog_bg Styledialo...