python统计分析——箱线图(plt.boxplot)

参考资料:用python动手学统计学

使用matplotlib.pyplot.boxplot()函数绘制箱线图

import numpy as np
import pandas as pd
from matplotlib import pyplot as pltdata_set1=np.array([2,3,3,4,4,4,4,5,5,6])
data_set2=np.array([[2,3,3,4,4,4,4,5,5,6],[5,6,6,7,7,7,7,8,8,9]])
#.T将数组data_set2由原来的2行10列转换为2列10行
data_set2=data_set2.Tplt.boxplot(data_set1)
plt.boxplot(data_set2)

代码结果展示如下:

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

(1)x,表示数据源;如果是一维的数组,则直接根据数组的数据产生一个箱线图,如果是二维数组,则按列的方向对数据进行统计,即有几列数据,就做几个箱线图。

(2)notch=None,默认为False,即箱框为矩形;若设置为True的箱框沿中间向内凹陷,代表着中位数的置信区间(结合bootstrap参数学习),如下图所示:

(3)sym=None,表示对异常值的显示标记。默认显示如下。

data_set3=np.array([-5,2,3,3,4,4,4,4,5,5,6])
plt.boxplot(data_set3)

当设置为sym="b+"(b表示颜色blue,+表示标记性状)时,显示如下:

(4)vert=None,默认为True,即箱线图垂直显示;若设置为False,则箱线图水平显示,如下:

plt.boxplot(data_set1,vert=False)

(5)whis=None,设置箱线图线须的位置,默认是1.5,即1.5倍的四分位距。Q1为下四分位数,Q3为上四分位数。箱线图线须的下界值为Q1-1.5*(Q3-Q1),箱线图线须的上界值为Q3+1.5*(Q3-Q1),在上下界范围之外的数据点被认为是异常值,并标注为异常点。当数据中的最小值大于箱线图的线须的下界值时,程序会把最小值当作下界值进行作图;同样当最大值小于线须的上界值时,程序会把最大值当作上界值进行作物。图片可以参照sym参数的图来看。

(6)positions=None,表示箱线图在坐标轴上的位置,默认在坐标轴上的位置为range(1,N+1),N为数据的列数(注意range函数“包左不包右”的原则),下图注意刻度的变化:

plt.boxplot(data_set2,positions=[2,3])

(7)widths=None,表示箱子的宽度。默认设置为0.15倍间距,当设置widths=0.5时,效果如下:

(8)patch_artist=None,默认为False,即线图风格;当设置为True时,为填充风格,效果如下

(9)bootstrap=None,当notch设置为True,用于设置对中位数的95%的置信区间的验证次数,若不对其进行设置,则默认用Gaussian-based asymptotic approximation (see McGill, R., Tukey, J.W., and Larsen, W.A., 1978, and Kendall and Stuart, 1967)对notch进行设置。bootstrap的建设设置区间为1000至10000。

plt.boxplot(data_set1,notch=True,bootstrap=1000)

(10)usermedians=None,用于指定作图的中位数,默认为None,即由程序自行计算得到;也可以自行指定中位数,下图设置为:usermedians=[3.5,7.5],展示如下,注意观察中位数所在位置的变化:

plt.boxplot(data_set2,usermedians=[3.5,7.5])

(11)conf_intervals=None,当notch设置为True时,用于设置置信区间;默认为None,即用bootstrap的相关数设置。下图表示将中位数的置信区间设置分别设置在3-5之间和3.5-4.5之间,注意观察区别。

plt.boxplot(data_set1,notch=True,conf_intervals=[(3,5)])

plt.boxplot(data_set1,notch=True,conf_intervals=[(3.5,4.5)])

(12)showmeans=None,表示是否显示均值,默认不显示。当设置为True则显示均值。

data_set3=np.array([1,2,3,3,4,4,4,4,5,9,9,10])
plt.boxplot(data_set3,showmeans=True)

(13)meanline=None,表示是否显示均值线,默认为False。当showmeans设置为True,且meanline=True时,则均值点显示为均值线。

下图为meanline=False,即默认设置的显示图片:

data_set3=np.array([1,2,3,3,4,4,4,4,5,9,9,10])
plt.boxplot(data_set3)

 下图为showmeans和meanline均为True的形式

data_set3=np.array([1,2,3,3,4,4,4,4,5,9,9,10])
plt.boxplot(data_set3,showmeans=True,meanline=True)

(14)showcaps=None,默认为True,用于设置须线两头的横杠,下图设置为False注意观察变化。

plt.boxplot(data_set3,showcaps=False)

(15)showbox=None,用于设置是否显示箱线图的箱子,默认为True,下图为False时的设置:

plt.boxplot(data_set3,showbox=False)

(16)若要将刻度线处的数字改为名称,需进行如下设置:

plt.boxplot(data_set2)
plt.xticks(ticks=[1,2],labels=["x","y"])

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

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

相关文章

Linux程序、进程和计划任务

目录 一.程序和进程 1.程序的概念 2.进程的概念 3.线程的概念 4.单线程与多线程 5.进程的状态 二.查看进程信息相关命令: 1.ps:查看静态进程信息状态 2.top:查看动态进程排名信息 3.pgrep:查看指定进程 4.pstree&#…

docker 安装elasticsearch、kibana、cerebro、logstash

安装步骤 第一步安装 docker 第二步 拉取elasticsearch、kibana、cerebro、logstash 镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.2 docker pull docker.elastic.co/kibana/kibana:7.10.2 docker pull lmenezes/cerebro:latest docker pull l…

Ps:混合颜色带 - 应用篇

混合颜色带 Blend If是基于亮度(灰色)或颜色通道的特定范围来显示或隐藏图层的特定区域。 当前图层 Current Layer,可根据当前图层的亮度值来隐藏该图层中的像素。 下一图层 Underlying Layer,可根据下方所有图层的复合图像的亮度…

单向可控硅充电电路图

单向可控硅工作原理 单向可控硅有阳极A、阴极K、控制极G三个电极,由四层半导体PNPN构成。单向可控硅有三个PN结,其内部结构与等效电路符号如图4-10所示。单相可控硅可等效看成一个PNP型三极管Vl和一个NPN型三极管V2组合而成,Vl基极和V2集电极…

电子学会C/C++编程等级考试2023年12月(三级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:因子问题 任给两个正整数N、M,求一个最小的正整数a,使得a和(M-a)都是N的因子。 时间限制:10000 内存限制:65536 输入 包括两个整数N、M。N不超过1,000,000。 输出 输出一个整数a,表示结果。如果某个案例中满足条件的正整数不存…

MSCKF+OpenVins梳理

reference: openvins学习中的问题https://zhuanlan.zhihu.com/p/355319559 OpenVins代码梳理https://www.zhihu.com/people/anson2004110/posts OpenVINS能观一致性分析和FEJhttps://zhuanlan.zhihu.com/p/101478814 MSCKF那些事https://zhuanlan.zhihu.com/p/76894…

力扣labuladong一刷day54天前缀树

力扣labuladong一刷day54天前缀树 文章目录 力扣labuladong一刷day54天前缀树一、208. 实现 Trie (前缀树)二、648. 单词替换三、211. 添加与搜索单词 - 数据结构设计四、1804. 实现 Trie (前缀树) II五、677. 键值映射 一、208. 实现 Trie (前缀树) 题…

一键了解获取网页requests方式

目录 一、爬虫原理: 二、安装: 测试: 三、文件的操作 方式一 方式二: 方式三 四、认识User-Agent 4.1、为什么用User-Agent: 步骤: 五、请求方式 5.1、get 5.2、post 六、爬出有中国关键字页面案例 一、爬…

win10下vscode+cmake编译C代码操作详解

0 工具准备 1.Visual Studio Code 1.85.1 2.cmake 3.24.01 前言 当我们只有一个.c文件时直接使用vscodeCode Runner插件即可完成编译,如果我们的工程很复杂包含多个.c文件时建议使用cmake来生成对应的make,指导编译器完成编译,否则会提示各…

强化学习的数学原理学习笔记 - 基于模型(Model-based)

文章目录 概览:RL方法分类基于模型(Model-Based)值迭代(Value Iteration)🟦策略迭代(Policy Iteration)🟡截断策略迭代(Truncated Policy Iteration&#xff…

YOLOv5改进 | 损失函数篇 | EIoU、SIoU、WIoU、DIoU、FocusIoU等二十余种损失函数

一、本文介绍 这篇文章介绍了YOLOv5的重大改进,特别是在损失函数方面的创新。它不仅包括了多种IoU损失函数的改进和变体,如SIoU、WIoU、GIoU、DIoU、EIOU、CIoU,还融合了“Focus”思想,创造了一系列新的损失函数。这些组合形式的损失函数超过了二十余种,每种都针对特定的…

K8S--安装MySQL8(单机)

原文网址:K8S--安装MySQL8(单机)-CSDN博客 简介 本文介绍K8S部署MySQL8(单机)的方法。 本文的目标 1.通过PV和PVC(hostPath方式)存储MySQL的数据 2.通过Deployment、Service部署MySQL8&…

Java异常机制:从混乱到控制的错误管理艺术

👑专栏内容:Java⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、异常的体系结构1、异常的体系结构2、异常的分类 二、异常的处理1、异常的抛出2、异常的捕获2.1、异常声明throws2.2、try-c…

leaflet:加载本地shp文件,并在地图上显示出来 (138)

第138个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中加载本地shp文件,利用shapefile读取shp数据,转换为json,利用L.geoJSON()在地图上显示图形。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示例效果安装加载shapefile.j…

Docker使用扩展

日升时奋斗,日落时自省 目录 1、容器 1.1、容器的生命周期 1.1.1、容器OOM 1.1.2、容器异常退出 1.1.3、容器暂停 1.2、容器命令 1.2.1、创建容器 1.2.2、启动容器 1.2.3、容器日志 1.2.4、容器交互 1.2.5、容器停止 1.2.6、扩展 1.3、综合演示 2、存…

ChatGPT | 模型架构 | 应用 | 思考

介绍 ChatGPT 3.5 是 OpenAI 推出的语言模型的一个版本,是 GPT(生成式预训练模型)系列的一部分。在自然语言理解和生成方面具有强大的能力,可以应用于问答系统、文本生成、翻译和对话系统等多个领域。 模型架构 GPT-3.5&#x…

【代码】Keras3.0:实现残差连接

简介 残差连接是一种非常重要的网络结构创新,最早被广泛应用于ResNet(Residual Neural Network)模型中,由何凯明等人在2015年的论文"Deep Residual Learning for Image Recognition"中提出。 核心思想 通过引入“short…

Linux stm32串口下载程序

一、工具 使用stm32flash进行串口下载 二、stm32flash安装 sudo apt-get install stm32flash 三、查看串口设备名称 先拔掉串口运行下面指令,获得所有设备名称,插上串口再运行一次,新增的就是串口设备名称,记住串口设备名称,以…

【Hadoop】说下HDFS读文件和写文件的底层原理?

文件读取文件的写入 文件读取 客户端调用 FileSystem 对象的 open()函数,打开想要读取的文件。其中FileSystem 是 DistributeFileSystem 的一个实例;DistributedFileSystem 通过使用 RPC(远程过程调用) 访N…

Unity 了解Input Manage下默认的输入轴

在Unity菜单Edit->Project Settings->Input Manager->Axes下有一些默认的输入轴,如 这些输入轴代表不同类型的输入,其中: Horizontal:水平移动输入轴。通常与键盘的左右箭头键、A和D键、游戏手柄的左摇杆水平轴等相关联…