matplotlib之pyplot模块——绘制小提琴图violinplot()

matplotlib.pyplot.violinplot()绘制小提琴图 一、matplotlib.pyplot.violinplot()语法 violinplot(dataset, positions=None, vert=True, widths=0.5, showmeans=False, showextrema=True, showmedians=False, quantiles=None, points=100, bw_method=None, *, data=None) 二、绘制小提琴图 ①绘制简单小提琴图 import matplotlib.pyplo 阅读详情
AI摘要

本文介绍了matplotlib库中的violinplot函数,用于创建直观的小提琴图展示数据分布。通过案例展示了如何使用该函数调整样式、方向和参数,并将其与箱线图对比。重点讲解了各参数的含义及其作用,适用于理解连续数据的复杂分布情况。

当前有效matplotlib版本为:3.4.1。

概述

violinplot()函数的作用是绘制小提琴图。

小提琴图和箱形图有点类似,它也可以显示四分位数(quartile)。不同于箱形图是通过长方形呈现的,以及绘图组件都对应实际的数据点,小提琴图集合了箱形图和密度图的特征,主要用来显示数据的分布状态,它能很好地表征了连续变量数据的分布情况。在外形上,因为所绘制的图形像一把把小提琴,故名“小提琴图”。小提琴图是用于观察多个数据分布情况的有效媒介,相比于箱形图,它在视觉上更令人愉悦。

函数的签名为matplotlib.pyplot.violinplot(dataset, positions=None, vert=True, widths=0.5, showmeans=False, showextrema=True, showmedians=False, quantiles=None, points=100, bw_method=None, *, data=None)。

函数的参数为:

  • dataset:输入数据。类型为数组或向量序列。必备参数。
  • positions:指定小提琴的位置。刻度和极值会自动匹配箱体位置。类型为类数组结构。可选参数。默认值为range(1, N+1) ,N为图中小提琴的个数(子数据集的个数)。
  • vert:小提琴的方向,当取值为True时,绘制垂直小提琴图,当取值为False时,绘制水平小提琴图。类型为布尔值,默认值为True。可选参数。
  • widths:箱体的宽度。类型为浮点数(所有小提琴的统一宽度)或类数组结构(每个小提琴的宽度)。默认值为0.5,即图宽度的一半。
  • showmeans:是否显示算术平均值。类型为布尔值,默认值为False。可选参数。
  • showextrema:是否显示极值。类型为布尔值,默认值为True。可选参数。
  • showmedians:是否显示中位数。类型为布尔值,默认值为False。可选参数。
  • quantiles:指定分位数的位置。类型为字典,元素要求值范围为[0,1],默认值为None。可选参数。
  • points:定义计算核密度估计的点的数量。类型为整数,默认值为100。可选参数。
  • bw_method:用于估算带带宽的方法。类型为字符串、标量或可调用对象,默认值为'scott。可选参数。

函数返回值为字典对象。字典的键如下:

  • bodies:PolyCollection实例列表,每个元素表示每个小提琴的填充区域。
  • medians:
  • cmeans: LineCollection实例,表示每个小提琴分布的均值。
  • cmins: LineCollection实例,表示每个小提琴分布的最低值。
  • cmaxes: LineCollection实例,表示每个小提琴分布的最高值。
  • cbars:LineCollection实例,表示每个小提琴分布的中心。
  • cmedians: LineCollection实例,表示每个小提琴分布的中位数。
  • cquantiles: LineCollection实例,表示每个小提琴分布的四分位数。

案例:对比小提琴图和箱线图

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.family'] = 'simhei'
plt.rcParams['axes.unicode_minus'] = False

data = np.random.normal(size=1000)

plt.subplot(121)
plt.title("小提琴图")
plt.violinplot(data)
plt.subplot(122)
plt.title("箱线图")
plt.boxplot(data)

plt.show()

案例:演示基础参数

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.family'] = 'simhei'
plt.rcParams['axes.unicode_minus'] = False

data = np.random.normal(size=1000)

plt.subplot(331)
plt.title("默认样式")
plt.violinplot(data)
plt.subplot(332)
plt.title("水平方向")
plt.violinplot(data, vert=False)
plt.subplot(333)
plt.title("设置位置")
plt.violinplot(data, positions=[2])
plt.subplot(334)
plt.title("设置宽度")
plt.violinplot(data, widths=0.3)
plt.subplot(335)
plt.title("隐藏极值")
plt.violinplot(data, showextrema=False)
plt.subplot(336)
plt.title("显示均值")
plt.violinplot(data, showmeans=True)
plt.subplot(337)
plt.title("显示中位数")
plt.violinplot(data, showmedians=True)
plt.subplot(338)
plt.title("显示分位数")
plt.violinplot(data, quantiles=[0.2, 0.5, 0.8, 0.9])
plt.subplot(339)
plt.title("设置核密度估计点数")
plt.violinplot(data, points=10)

plt.tight_layout()
plt.show()
Python绘图-8小提琴图 小提琴图(Violin Plot)是一种用于显示数据分布及其概率密度的图表,结合了箱形图和密度图的特征,用于展示多组数据的分布状态以及概率密度。 阅读详情

相关推荐

matplotlib基础绘图命令之violinplot

欢迎关注”生信修炼手册”!在matplotlib中,violinplot方法用于绘制小提琴图,基本用法如下plt.violinplot(dataset=np.random.normal(...

庐州月光的博客 9356

超详细Seaborn绘图 ——(三)violinplot

目录一、基础概念二、语法三、参数详解四、实例 一、基础概念 小提琴图是箱线图与核密度图的结合,箱线图展示了分位数的位置,核密度图则展示了任意位置的密度,通过小提琴图可以知道哪些位置的数据点聚集的较多,因其形似小提琴而得名。 其外围的曲线宽度代表数据点分布的密度,中间的箱线图则和普通箱线图表征的意义是一样的,代表着中位数、上下分位数、极差等。 二、语法 seaborn.violinplot(x=N...

邱邱邱的博客 3万+

Nature级小提琴图制作:Python数据可视化实战

数据可视化是科研数据分析的关键环节,其中小提琴图(Violin Plot)通过结合箱线图和核密度估计,能直观展示数据分布特征。其原理是通过核密度方法估计概率密度,再镜像对称展示,特别适合呈现生物医学、社会科学等领域的连续变量分布。在Python生态中,借助Seaborn和Matplotlib的组合,可以高效实现学术级可视化效果。通过调整bandwidth参数控制平滑度,使用inner参数添加箱线图元素,能同时展现数据分布形态和统计特征。这类技术在基因表达分析、临床指标对比等场景有广泛应用,尤其符合Natur

weixin_30247307的博客 399

FigDraw 11. SCI 文章绘图之小提琴图 (ViolinPlot)

FigDraw 11. SCI 文章绘图之小提琴图 (ViolinPlot) 样式最全面的小提琴图 (ViolinPlot),全网仅桓峰基因提供此教程!

weixin_41368414的博客 1万+

箱线图、小提琴图与等高线图:EDA终局三件套实战指南

探索性数据分析(EDA)的核心目标是理解数据分布、识别异常并验证建模前提。传统统计量如均值和标准差易受偏态、多峰和长尾干扰,而散点图难以量化局部密度变化。箱线图通过四分位距(IQR)提供鲁棒的异常值检测能力;小提琴图融合核密度估计(KDE)与箱线结构,直观揭示单变量分布形态;等高线图则将二维联合分布转化为‘密度地形图’,支撑非线性关系识别与建模假设检验。这三类图共同构成从数据清洗、分布诊断到关系建模的完整闭环,在金融风控、用户行为分析、工业时序监测等场景中已被验证为高信息密度、低误判率的关键工具。

weixin_30470643的博客 1211

数据可视化进阶:从小提琴图原理到Python Seaborn实战应用

在数据分析和统计可视化领域,理解数据分布是基础且关键的环节。核密度估计作为一种非参数估计方法,通过平滑处理数据点来揭示潜在的概率密度函数,从而直观展示数据的分布形态。这一技术不仅弥补了传统箱线图在形状信息上的缺失,还提供了更丰富的视觉洞察,对于探索性数据分析和统计假设检验具有重要价值。在实际应用中,特别是在多组数据对比和异常模式识别场景中,基于核密度估计的小提琴图能够清晰呈现单峰、双峰、偏态等分布特征。通过Python的Seaborn库,数据科学家可以高效实现小提琴图的绘制与定制,结合箱线图、蜂群图等元素,

weixin_34409357的博客 421

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

(1)dataset,需要做的图数据集。

maizeman126的博客 2283

箱线图、小提琴图与山脊线图:分布可视化选型指南

分布可视化是数据分析的核心能力,其本质是通过图形化手段揭示数据的概率结构与变异规律。箱线图基于稳健统计学,以五数概括和离群值检测支撑业务阈值决策;小提琴图依托核密度估计(KDE),直观呈现分布形态、多峰性与偏态特征;山脊线图则通过堆叠归一化密度曲线,实现多组分布的横向比较与动态演化叙事。三者在信息粒度与比较维度上构成正交互补:箱线图适合单组快速诊断,小提琴图擅长单组深度探查,山脊线图专精于多组趋势对比。掌握其原理差异与适用边界,可避免‘用错图导致误判’的典型陷阱,显著提升风控、用户行为、A/B测试等高频场景

Faith, Simpleness, Transparency, Innovation 552

matplotlib之pyplot模块——violinplot()参数详解与实战调优

本文深入解析matplotlib中pyplot模块的violinplot()函数,详细介绍其参数配置与实战调优技巧。通过对比不同数据分布的可视化效果,展示小提琴图在数据分析中的独特优势,包括多组数据对比、偏态数据处理及高级混合图表应用,帮助读者掌握专业级数据可视化方法。

weixin_30851867的博客 510

箱线图、小提琴图、山脊图:数据分布可视化三剑客实战指南

数据分布可视化是探索性数据分析(EDA)的核心能力,其本质是揭示数据的集中趋势、离散程度与形态特征。箱线图基于五数概括稳健刻画分布骨架,小提琴图融合核密度估计还原分布‘厚度’,山脊图则通过堆叠实现多组有序分布的动态对比。这三类图共同解决了异常值识别、多组分布比较、时序漂移监测及大样本稳定呈现等高频工程问题。相比直方图或简单统计量,它们在保留统计鲁棒性的同时增强可解释性,特别适用于用户行为分析、A/B测试评估与业务指标监控等真实场景。本文聚焦Data分布诊断这一基础任务,系统拆解三类图的原理差异、适用边界与P

weixin_34015336的博客 450

箱型图与小提琴图:从数据分布到异常值检测的完整指南

在数据分析与可视化领域,理解数据分布是挖掘洞察的基础。数据分布描述了数据点的集中趋势、离散程度和形态特征,而异常值检测则是识别数据中显著偏离主体的关键步骤。其技术价值在于能够超越简单的均值计算,揭示数据内部的真实结构,避免因极端值导致的误判。在业务场景中,这直接关系到A/B测试评估、用户行为分析和性能监控的准确性。箱型图通过四分位距和1.5倍IQR规则,直观展示数据范围和异常点;小提琴图则基于核密度估计,清晰呈现数据分布的密度与多峰形态。本文聚焦于这两种核心工具,结合Python的seaborn与matpl

weixin_33701617的博客 431

python中的数据可视化:小提琴图 violinplot()

python中的数据可视化:小提琴图 violinplot()

liujingwei8610的专栏 572

TTL电路搭建半加器实验:操作指南完整版

通过TTL电路搭建半加器,详解逻辑设计与实验步骤,帮助掌握数字电路中的半加器工作原理与实际应用,适合电子技术初学者动手实践。

weixin_42524864的博客 356

Matplotlib核心接口与实战:从pyplot到面向对象,掌握数据可视化精髓

数据可视化是数据分析与数据科学领域的基础环节,其核心在于将抽象数据转化为直观图形,以揭示模式、趋势和洞见。其原理依赖于图形语法和视觉编码理论,通过坐标轴、颜色、形状等视觉元素映射数据维度。在Python技术栈中,Matplotlib作为底层绘图引擎,提供了极高的灵活性和控制力,是实现定制化、出版级图表的技术基石。它支持从简单的折线图、柱状图到复杂的多子图布局,并能与Pandas、NumPy等数据处理库无缝集成,广泛应用于学术研究、商业报告和机器学习模型结果展示。本文聚焦Matplotlib的两种核心编程接口

weixin_30607659的博客 554

生物信息学投稿避坑指南:如何根据影响因子和审稿速度选择最适合的期刊

本文为生物信息学研究者提供全面的期刊投稿策略,重点解析影响因子、审稿速度等关键指标,帮助选择最适合的期刊。涵盖算法开发类和应用型研究的投稿路径,分析不同出版社特点及开放获取的利弊,并提供投稿全流程优化建议,助力高效发表研究成果。

weixin_42652674的博客 379

基于图神经网络强化学习解决车辆路径规划问题(完整代码+报告)

基于图神经网络强化学习解决车辆路径规划问题(完整代码+报告)

3055

Matplotlib 3.8.2 实战:5种高级图表绘制与3个自定义样式技巧

本文详细介绍了Matplotlib 3.8.2中五种高级图表(热力图、箱线图、面积图、雷达图、小提琴图)的绘制方法,并提供了三个自定义样式技巧(全局配置、样式表应用、颜色映射优化),帮助数据分析师提升可视化效果的专业度和表现力。

weixin_34413802的博客 354

断层错动和近断层地震动联合作用下软岩隧洞衬砌损伤分析

摘要 本文提出了一种基于Python的软岩隧洞衬砌损伤分析系统,重点研究断层错动和近断层地震动的联合作用效应。系统采用有限元方法建立隧洞-围岩体系模型,通过非线性动力分析评估衬砌结构损伤。研究内容包括:1)建立考虑应变软化的软岩本构模型;2)基于位错理论模拟断层错动过程;3)合成具有速度脉冲效应的近断层地震动;4)开发完整的动力响应分析流程。结果表明,所提出的方法能有效评估软岩隧洞在复杂地质条件下的抗震性能,为工程设计提供理论依据。 关键词:软岩隧洞、断层错动、近断层地震动、损伤分析、Python、有限元法

max500600的博客 844

matplotlib绘图(2D + 3D)

Matplotlib 是一个用于创建二维图形和图表的 Python 库。它是一个功能强大且广泛使用的数据可视化工具,特别适用于数据分析、科学计算、工程绘图和数据可视化等领域。

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 5031

Python爬虫实战:利用Selenium与反反爬技术高效爬取企查查工商信息

本文将详细介绍如何使用Python最新爬虫技术(包括Selenium、Playwright、智能代理池等)爬取企查查工商信息数据。文章包含完整的代码实现、反反爬策略、数据解析与存储方案,以及法律合规性讨论,共计约8000字。企查查作为国内领先的企业信息查询平台,收录了超过2亿家企业的工商信息、司法信息、知识产权等数据。这些数据对于市场分析、商业决策等具有重要价值。法律边界提示禁止大规模爬取导致服务器过载不得绕过付费接口获取数据数据使用需遵守《个人信息保护法》商业用途需获得授权。

2201_76125261的博客 2237

自然语言处理在智能客服系统中的应用

引言与背景 1.1 书籍的目的和内容概述 《自然语言处理在智能客服系统中的应用》旨在探讨自然语言处理(NLP)技术在智能客服系统中的应用,帮助读者理解NLP的核心概念及其在解决实际业务问题中的关键作用。随着人工智能技术的快速发展,自然语言处理成为构建智能客服系统的核心模块之一。本书将深入解析NLP

AI天才研究院 968

Python可视化库——Matplotlib和Seaborn库

数据可视化库——Matplotlib import matplotlib.pyplot as plt 默认可视化操作 plt.plot():画图 plt.show():显示 设置参数 plt.xticks(rotation):变量名倾斜 plt.xlable(‘变量名’):x轴名称 plt.ylabel(‘变量名’):y轴名称 plt.title():标题名称 子图 fig=pl...

Lucia_0103的博客 2954

Python爬虫实战:实时爬取东方财富网股票行情

东方财富网实时行情(价格、涨跌幅、成交量等)K线图、分时图、技术指标市盈率、换手率、总市值等指标相比某些收费API,东方财富网页端接口不需要登录、免费、响应快、封装清晰,适合爬虫实践。东方财富网股票数据接口分析实时数据抓取与字段提取数据结构化处理自动化批量抓取多线程加速采集数据可视化展示支持存储为CSV/Excel/数据库。

2201_76125261的博客 1万+

直方图替代方案:KDE、小提琴图、箱线图与CDF实战指南

数据分布可视化是数据分析的基础能力,但直方图因分箱依赖、结构失真和多维表达乏力,在业务决策中常导致误判。核密度估计(KDE)通过平滑概率密度还原连续分布细节;小提琴图融合密度形状与统计摘要,支持多组样本量感知对比;箱线图以五数概括和IQR稳健识别异常值;累积分布函数(CDF)则直接支撑阈值设定与概率量化。这些方法共同构成面向业务问题的分布分析技术栈——当目标是定位风险拐点、识别双峰人群或校准运营水位时,它们比直方图更具信息保真度与沟通效力。

weixin_33747129的博客 463

【AI大模型:前沿】44、大模型+机器人:从自动化工具到通用智能体的技术革命与应用全景

大模型与机器人的融合催生了“具身智能体”,突破传统机器人智能化缺失、功能单一等瓶颈。大模型赋予机器人三大能力:常识推理(如热牛奶需去包装)、模糊指令解析(如“整理书桌”拆解步骤)、零样本任务泛化(如搭乐高桥)。技术实现上,通过多模态融合(视觉-语言-动作)、仿真训练(虚拟试错)和实时反馈(动态调整动作)形成闭环。主流框架如Google RT-2(端到端动作生成)、斯坦福Q-Transformer(强化学习优化)和Figure 01(ChatGPT驱动人形机器人)各具优势,可适配工业、家庭等场景。该技术正重塑

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 2020

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Seaborn数据可视化:高效统计图表绘制指南

数据可视化是数据分析的关键环节,通过图形化展示能直观揭示数据规律。Python生态中,Seaborn作为基于Matplotlib的高级封装库,凭借简洁API设计和精美默认样式,大幅提升了统计图表制作效率。其核心原理是通过预置统计图表模板和智能样式系统,将复杂的数据映射过程简化为单行函数调用。在技术价值方面,Seaborn特别适合快速构建箱线图、热力图等专业统计图表,并支持与Pandas数据结构深度集成。典型应用场景包括探索性数据分析(EDA)、科研论文图表生成以及商业报告可视化。通过内置的泰坦尼克、鸢尾花等

weixin_33997389的博客 560

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: matplotlib之pyplot模块——绘制箱线图(盒须图)boxplot()(二)演示外观参数、返回值
下一篇: 案例:利用Pandas按年月、考试科目汇总学生成绩并展示为并列柱状图
mighty13
博客等级 码龄23年 728粉丝 438原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值