python统计分析——小提琴图(sns.violinplot)

参考资料:用python动手学统计学,帮助文档

使用seaborn.violinplot()函数绘制箱线图

sns.violinplot()的做出来的小提琴图比plt.violinplot()更像小提琴。

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns

df=pd.DataFrame(data={
    'type':['A','A','A','A','A','A','A','A','A','A','B','B','B','B','B','B','B','B','B','B'],
    'value':[2,3,3,4,4,4,4,5,5,6,5,6,6,7,7,7,7,8,8,9]
})
ser=pd.Series(data=[2,3,3,4,4,4,4,5,5,6])

sns.violinplot(ser)

下面介绍sns.violinplot()函数中常用的几个重要参数(参数等号后为默认设置):

(1)data=None,就是数据源。

(2)x=None, y=None,如果不指定x和y,则以整列数据绘制一个小提琴;如果制定了x和y,则会按照分类型数据对数值型数据进行分组,来绘制小提琴。下图为有无x,y参数的区别:

sns.violinplot(df)

sns.violinplot(df,x='type',y='value')

(3)hue=None,指定数据系列,通常与x,y共同使用。

df=pd.DataFrame(data={
    'type':['A','A','A','A','A','A','A','A','A','A','B','B','B','B','B','B','B','B','B','B'],
    'value':[2,3,3,4,4,4,4,5,5,6,5,6,6,7,7,7,7,8,8,9],
    'hue':[1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2]
})

sns.violinplot(df,x='type',y='value',hue='hue')

(4)order=None,hue_order=None,用于指定小提琴的显示顺序。

sns.violinplot(df,x='type',y='value',order=['B','A'])

sns.violinplot(df,x='type',y='value',hue='hue',hue_order=[2,1])

(5)bw='scott',指定绘制小提琴时的核密度曲线的计算方式,通常默认即可。

(6)cut=2,用于设置小提琴的核密度曲线两端的延长线,当cut=0时,图形效果等于plt.violinplot(),如下:

sns.violinplot(ser,cut=0)

(7)scale='area',对小提琴的大小进行设置,“area”表示所有小提琴的面积一样,“width”表示所有小提琴的宽度一样,“count”表示小提琴的宽度与数据桶中数据量一致。

(8)scale_hue=True,当设置了hue参数时,设置小提琴图的计算标准,通常采用默认值。

(9)inner='box',用于设置小提琴内部的迷你图,默认是箱线图;“quartiles”表示绘制四分位线;“points”表示绘制数据点;“stick”是将数据点绘制为数据线;若设置为None,则内部为空。

sns.violinplot(df,x='type',y='value',inner='quartiles')

sns.violinplot(df,x='type',y='value',inner='points')

sns.violinplot(df,x='type',y='value',inner='stick')

sns.violinplot(df,x='type',y='value',inner=None)

(10)split=False,当设置hue参数后,用于设置hue是分裂显示还是独立显示。默认为False,即独立显示,当设置为True时,为分裂显示,效果如下:

sns.violinplot(df,x='type',y='value',hue='hue',split=True)

(11)dodge=True,当设置hue参数后,用于设置hue是否错位显示。默认为True,错位显示;当设置False时,效果如下:

sns.violinplot(df,x='type',y='value',hue='hue',dodge=False)

(12)orient=None,当x和y都是数值型数据时,用于指定沿哪个方向绘制小提琴,效果如下:

sns.violinplot(df,x='value',y='hue',orient='h')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/315557.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能小程序能做什么?

一. 自定义Tab页 涂鸦提供了丰富的场景化、个性化的 ToC 智能服务,不仅可以快速低成本的自由搭建出更多智能服务,还为你提供了基于小程序技术方案的可自主可控的自定义开发链路,为拓展更多品牌化、个性化、差异化智能服务提供生态基础。 我…

【Matlab】在Matlab中安装优化工具yalmip的方法

最近博主想做一些关于多目标优化的问题,因为之前对Matlab有一定经验,所以直接在网上查找了如何在Matlab上实现多目标优化的文献,看到有人提到了yamip,于是博主就试着在Matlab中安装yamip,将其中遇到的问题和一些经验和…

【Oracle】Oracle编程PLSQL

Oracle编程 一、PL/SQL 1、PL/SQL概述 PL/SQL(Procedure Language/SQL)是 Oracle 对 sql 语言的过程化扩展,使 SQL 语言具有过程处理能力。 基本语法结构 [declare -- 声明变量 ]begin-- 代码逻辑 [exception-- 异常处理 ]end;2、变量 …

004 Golang-channel-practice 左右括号匹配

第四题 左右括号打印 一个协程负责打印“(”,一个协程负责打印“)”,左右括号的数量要匹配。在这道题目里,我在main函数里进行了一个死循环。会产生一个随机数,随机数就是接下来要打印的左括号的数量。 例…

C#编程-了解线程的优先级

了解线程的优先级 控制线程行为的一个属性是它的优先级。.NET运行时环境基于它们的优先级执行线程。CPU一次仅执行一个线程。因此,处于执行的可运行状态的线程,排队等待轮到被处理器执行。线程是固定优先级调度的。带有优先级的每个线程在处理器的线程队列中有自己的位置。 …

Nginx多虚拟主机配置

最近写公司项目,需要和前端小伙伴对接,但是有时候只是后端的一个bug,也不好意思一直让前端小伙伴帮忙起服务,所以想着直接拿测试包在本地起一个前端环境,这样后续开发比较方便;因为公司项目有好几个&#x…

22款奔驰C260L升级ACC自适应巡航 解放双脚 出行更加安全

有的时候你是否厌倦了不停的刹车、加油?是不是讨厌急刹车,为掌握不好车距而烦恼? 如果是这样,那么就升级奔驰原厂ACC自适应式巡航控制系统,带排队自动辅助和行车距离警报功能,感受现代科技带给你的舒适安全…

<软考高项备考>《论文专题 - 63 质量管理(2) 》

2 过程1-规划质量管理 2.1 问题 4W1H过程做什么识别项目及其可交付成果的质量要求、标准,并书面描述项目将如何证明符合质量要求、标准的过程;作用:为在整个项目期间如何管理和核实质量提供指南和方向为什么做1、识别项目/产品质量要求和标…

Github项目推荐-Insomnia

项目地址 GitHub地址:GitHub - Kong/insomnia 官网:The Collaborative API Development Platform - Insomnia 项目简述 想必大家都知道PostMan吧。Insomnia可以说是PostMan的开源平替。页面ui很不错,功能强大,使用也比较方便。…

【ChatGPT-Share,国内可用】GPTS商店大更新:一探前沿科技的魅力!

使用地址:https://hello.zhangsan.cloud/list GPTS商店预览,王炸更新 精选应用: 系统内置应用: 绘画应用: 写作应用: 高效工具应用: 学术搜索和分析应用: 编程应用: 教育应…

开源项目CuteSqlite开发笔记(七):CuteSqlite释放BETA版本啦

经过大半年的开发,CuteSqlite程序代码不知不觉来到了6万行,有效行数4万行,CuteSqlite开发完成了一个小版本,进入下一个阶段,并于2024元旦释放BETA版本,有兴趣的朋友可以下载试用。 GitHub下载https://gith…

基于Docker Compose单机实现多级缓存架构2024

文章目录 一、环境参考二、专栏简介三、扩展 一、环境参考 NameVersionDocker Desktop for Windows4.23.0Openjdk8MySQL8.2.0Redis7.2Canal1.1.7OpenResty1.21.4.3-3-jammy-amd64Lua-Caffeine- 二、专栏简介 多级缓存实现过程比较长,将拆分为多个文章分步讲述。如…

【算法】信使(最短路问题)

题目 战争时期,前线有 n 个哨所,每个哨所可能会与其他若干个哨所之间有通信联系。 信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位)。 指挥部设在第一个哨所。 当指挥部下达一个命令…

低维度向量的 Householder 反射变换 matlab 图示

1, 算法原理 设th 是一个弧度值, 令 Q | cos(th) sin(th) | | sin(th) -cos(th) | S span{ | cos(th/2.0) | } | sin(th/2.0) | x (x1, x2) 是一个平面上的二维向量 计算 y Qx Qx 则,y 是 x 通过有 S 定…

基于STM32F103和ESP8266的Wi-Fi模块驱动程序设计与优化

基于STM32F103和ESP8266的Wi-Fi模块驱动程序设计和优化是一个重要的任务,它将使STM32F103微控制器能够与ESP8266模块进行通信并实现无线网络连接。在本文中,我们将介绍如何设计和优化这样的驱动程序,并提供相关的代码示例。 1. 系统概述 Wi…

Ubuntu root 远程登录失败

背景:设置了两个系统用户:root、test;test可以登录,可以使用su 命令切换root用户登录成功; 但是直接用root登录,会报错。 查看登录日志的方法: 需要两个远程窗口,在第一个远程窗口…

案例103:基于微信小程序的移动网赚项目设计与实现

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder …

OCR字符识别:开始批量识别身份证信息

身份证信息批量识别OCR是一项解决方案,它能够将身份证照片打包成zip格式或通过URL地址进行提交,并能够识别照片中的文本信息。最终,用户可以将识别结果生成为excel文件进行下载。 API接口功能: 1. 批量识别:支持将多…

SmartX 超融合和分布式存储支持哪些信创硬件?如何选型配置?

为了推动 IT 基础架构国产化转型,不少用户都使用 SmartX 超融合和分布式存储构建信创云基础设施。其中,信创硬件的选型与配置往往是用户在规划与部署环节关注的重点:国产 CPU/存储怎么选?哪个系列/型号的性价比最高?如…

rpb/rpc文件说明与matlab读取

什么是rpb/rpc文件? rpb文件是用来存储用于遥感数据几何校正的RPC(Rational Polynomial Coefficients )模型的文件。类似的还有RPC文件,rpb与rpc文件只是格式不同,但包含的信息一致。其用于从图像坐标转换到地理坐标&a…