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 snsdf=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.mzph.cn/news/617511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark的内核调度

目录 概述 RDD的依赖 DAG和Stage DAG执行流程图形成和Stage划分 Stage内部流程 Spark Shuffle Spark中shuffle的发展历程 优化前的Hash shuffle 经过优化后的Hash shuffle Sort shuffle Sort shuffle的普通机制 Job调度流程 Spark RDD并行度 概述 Spark内核调度任务: 1…

强化学习应用(四):基于Q-learning的无人机物流路径规划研究(提供Python代码)

一、Q-learning简介 Q-learning是一种强化学习算法,用于解决基于马尔可夫决策过程(MDP)的问题。它通过学习一个价值函数来指导智能体在环境中做出决策,以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的…

jetson orin nano 使用yolov8导出engine

1. 导出onnx 经过前面训练,得到了best.pt模型,现在想要使用tensorrt进行推理,需要先导出为onnx格式,再转化为engine格式。 yolo export modelbest.pt formatonnx opset12 simplifyTrue2.解决错误 在导出过程中,可能…

Android代码混淆

Android之代码混淆 代码混淆的作用设置混淆1. 在模块目录下的 build.gradle 文件中配置以下代码2. 在 proguard-rules.pro 文件中添加混淆规则 通用混淆规则常用匹配符常用命令注意事项如何查看是否已混淆 代码混淆的作用 1.令 APK 难以被逆向工程,即很大程度上增加…

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

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

Handsfree_ros_imu:ROS机器人IMU模块的get_imu_rpy.py文件学习记录

上一篇博客写了关于Handsfree_ros_imu:ROS机器人IMU模块ARHS姿态传感器(A9)Liunx系统Ubuntu20.04学习启动和运行教程: https://blog.csdn.net/qq_54900679/article/details/135539176?spm1001.2014.3001.5502 这次带来get_imu_r…

池化、线性、激活函数层

一、池化层 池化运算是深度学习中常用的一种操作,它可以对输入的特征图进行降采样,从而减少特征图的尺寸和参数数量。 池化运算的主要目的是通过“收集”和“总结”输入特征图的信息来提取出主要特征,并且减少对细节的敏感性。在池化运算中…

ElasticSearch 学习9 spring-boot ,elasticsearch7.16.1实现中文拼音分词搜索

一、elasticsearch官网下载:Elasticsearch 7.16.1 | Elastic 二、拼音、ik、繁简体转换插件安装 ik分词:GitHub - medcl/elasticsearch-analysis-ik: The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized d…

高质量训练数据助力大语言模型摆脱数据困境 | 景联文科技

目前,大语言模型的发展已经取得了显著的成果,如OpenAI的GPT系列模型、谷歌的BERT模型、百度的文心一言模型等。这些模型在文本生成、问答系统、对话生成、情感分析、摘要生成等方面都表现出了强大的能力,为自然语言处理领域带来了新的突破。 …

ROS2——launcher

在ROS2中,launcher 文件是通过Python构建的,它们的功能是声明用哪些选项或参数来执行哪些程序,可以通过 launcher 文件快速同时启动多个节点。一个 launcher 文件内可以引用另一个 launcher 文件。 使用 launcher 文件 ros2 launch 可以代替…

掌握 Vue 响应式系统,让数据驱动视图(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

GitLab任意用户密码重置漏洞(CVE-2023-7028)

GitLab CVE-2023-7028 POC user[email][]validemail.com&user[email][]attackeremail.com 本文链接: https://www.黑客.wang/wen/47.html

Webhook端口中的自定义签名身份认证

概述 如果需要通过 Webhook 端口从交易伙伴处接收数据,但该交易伙伴可能对于安全性有着较高的要求,而不仅仅是用于验证入站 Webhook 要求的基本身份验证用户名/密码,或者用户可能只想在入站 Webhook 消息上增加额外的安全层。 使用 Webhook…

【数据采集与预处理】流数据采集工具Flume

目录 一、Flume简介 (一)Flume定义 (二)Flume作用 二、Flume组成架构 三、Flume安装配置 (一)下载Flume (二)解压安装包 (三)配置环境变量 &#xf…

环形链表[简单]

优质博文:IT-BLOG-CN 一、题目 给你一个链表的头节点head,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链…

数据结构中的一棵树

一、树是什么? 有根有枝叶便是树!根只有一个,枝叶可以有,也可以没有,可以有一个,也可以有很多。 就像这样: 嗯,应该是这样: 二、一些概念 1、高度 树有多高&#x…

MySQL之导入导出远程备份(详细讲解)

文章目录 一、Navicat导入导出二、mysqldump命令导入导出2.1导出2.2导入(使用mysqldump导入 包含t_log表的整个数据库) 三、LOAD DATA INFILE命令导入导出3.1设置;3.2导出3.3导入(使用单表数据导入load data infile的方式) 四、远程备份4.1导出4.2导入 一…

redis系列:01 数据类型及操作

redis的数据类型有哪些 string,list,set,sorted_set,hash 操作 sting: set name maliao get name exists name expire name 5 ttl name del name setex name 10 maliao 设置key和过期时间 setnx name maliao 当key不存在时才添加list: lpush letter a lpush le…

OpenCV-22高斯滤波

一、高斯函数的基础 要理解高斯滤波首先要直到什么是高斯函数,高斯函数是符合高斯分布的(也叫正态分布)的数据的概率密度函数。 高斯函数的特点是以x轴某一点(这一点称为均值)为对称轴,越靠近中心数据发生…

【Linux实用篇】Linux常用命令(1)

目录 1.1 Linux命令初体验 1.1.1 常用命令演示 1.1.2 Linux命令使用技巧 1.1.3 Linux命令格式 1.2 文件目录操作命令 1.2.1 ls 1.2.2 cd 1.2.3 cat 1.2.4 more 1.2.5 tail 1.2.6 mkdir 1.2.7 rmdir 1.2.8 rm 1.1 Linux命令初体验 1.1.1 常用命令演示 在这一部分中…