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

news2024/11/15 15:27:03

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

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

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

data_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.T

plt.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.coloradmin.cn/o/1365118.html

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

相关文章

【AI视野·今日Sound 声学论文速览 第四十一期】Thu, 4 Jan 2024

AI视野今日CS.Sound 声学论文速览 Thu, 4 Jan 2024 Totally 8 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers Multichannel blind speech source separation with a disjoint constraint source model Authors Jianyu Wang, Shanzheng Guan多通道卷积…

ArcGIS制图技巧总结

Part 1 制图综述 1.1 制图的目的 随着GIS在各行各业的深入应用,各信息化部门和生产单位都逐渐建立起自己的GIS的应用,同时积累了大量的地理数据。随着应用深度和广度的推进,针对数据建立专题应用越来越迫切,对行业专题制图的需…

XCode Build报错

XCode Build时报以下错误 B/BL out of range 143266484 (max /-128MB) 错误提示表明生成的机器代码太大,超出了限制 需要在XCode工程中添加宏定义,使得生成的可执行文件超过限制 步骤: 在项目设置页面中,选择 “Build Settings…

爆肝整理,接口测试+为什么要做接口测试总结,策底贯通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、什么是接口测试…

vue3 指令详解

系列文章目录 TypeScript 从入门到进阶专栏 文章目录 系列文章目录前言一、v-model (双向绑定功能)二、v-bind(用于将一个或多个属性绑定到元素的属性或组件的 prop)三、v-if、v-else、v-else-if(用于根据条件选择性地渲染元素)四、v-show(根…

JavaSE 万字总结知识点(期末复习指南)

目录 一.Java的特性 二.注释 三.数据类型 基本数据类型 包装类 引用数据类型 四.运算符 五.逻辑控制 选择语句 循环语句 六.数组 七.方法 八.类与对象 构造方法 内部类 九.继承和多态 十.抽象类与接口 抽象类 接口 十一.异常 一.Java的特性 Java最初由Sun…

C++中vector的insert参数问题

今天模拟实现vector的过程中,发现pos传参给insert后是不能直接使用的,如果扩容的话,就要更新pos,于是就像用引用来解决这个问题 一般的pos还是能正常传参,但是如果传某容器的迭代器的话,就会报错 原因&…

LeetCode-加一(66)

题目描述: 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 思路: 这里主要分…

Go-gin-example 添加注释 第一部分 新建项目及api编写

文章目录 go-gin-example环境准备初始化 Go Modules基础使用 gin 安装测试gin是否引入 gin搭建Blog APIsgo-ini简述配置文件 阶段目标 编写简单API错误码包 完成一个demo初始化项目初始化项目数据库编写项目配置包拉取go-ini配置包在conf目录下新建app.ini文件,写入…

React.Children.map 和 js 的 map 有什么区别?

JavaScript 中的 map 不会对为 null 或者 undefined 的数据进行处理,而 React.Children.map 中的 map 可以处理 React.Children 为 null 或者 undefined 的情况。 React 空节点:可以由null、undefined、false、true创建 import React from reactexport …

详解ajax、fetch、axios的区别

众所周知它们都用来发送请求,其实它们区别还蛮大的。这也是面试中的高频题,本文将详细进行讲解。 1. ajax 英译过来是Aysnchronous JavaScript And XML,直译是异步JS和XML(XML类似HTML,但是设计宗旨就为了传输数据&a…

NI基于PC的测量和控制系统

基于PC的测量和控制系统为工程师提供了电气和物理测量功能,使其能够以可自定义、准确且经济实惠的方式进行台式测量. 什么是基于PC的测量和控制系统? 在基于PC的测量和控制系统中,NI硬件产品通过USB或以太网连接到PC或笔记本电脑。这种系统具…

在ultralytics中实现obb检测,官方团队做了哪些修改?

在最新的在ultralytics中,官方团队已经提供了obb检测功能,并发布了相应的预训练模型,其具体使用可以参考。https://blog.csdn.net/a486259/article/details/134557389 1、网络结构 1.1 OBB(Detect) 在ultralytics\nn\modules\head.py中,实现了OBB head,用于在网络head…

致远OA getAjaxDataServlet XXE漏洞复现(QVD-2023-30027)

0x01 产品简介 致远互联-OA 是数字化构建企业数字化协同运营中台,面向企业各种业务场景提供一站式大数据分析解决方案的协同办公软件。 0x02 漏洞概述 致远互联-OA getAjaxDataServlet 接口处存在XML实体注入漏洞,未经身份认证的攻击者可以利用此漏洞读取系统内部敏感文件…

Marvelous Designer 各版本安装指南

Marvelous Designer下载链接 https://pan.baidu.com/s/1ZZCraq6w2Z4JPisND8q0jA?pwd0531 1.鼠标右击【Marvelous Designer 12(64bit)】压缩包(win11及以上系统需先点击“显示更多选项”)选择【解压到 Marvelous Designer 12(64bit)】。 2.打开解压后的…

软件测试|测试平台开发-Flask 入门:编写第一个简单 Web 应用

简介 Flask 是一个轻量级的 Python Web 框架,它使得创建 Web 应用变得简单快捷。相比于Django框架,它具有以下的优点: 轻:Flask 是一个轻量级的 Web 框架,使用 Python 语言编写易:较其他同类型框架更为灵…

关于burpsuite设置HTTP或者SOCKS代理

使用burpsuite给自己的浏览器做代理,抓包重发这些想必大家都清除 流量请求过程: 本机浏览器 -> burpsuite -> 目标服务器 实质还是本机发出的流量 如果我们想让流量由其他代理服务器发出 实现: 本机浏览器 -> burpsuite -> 某…

Linux程序、进程和计划任务

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

图表分析网页模版 大数据可视化大屏电子沙盘合集

项目基于html/css/js,包含行业: 智慧政务 智慧社区 金融行业 智慧交通 智慧门店 智慧大厅 智慧物流 智慧医疗 通用模板 大数据分析平台 项目包含功能 (部分): 实时数据K线图(可自由配置多种行业模式) 可切换式大屏展…

linux 01 centos镜像下载,服务器,vmware模拟服务器

https://www.bilibili.com/video/BV1pz4y1D73n?p3&vd_source4ba64cb9b5f8c56f1545096dfddf8822 01.使用的版本 国内主要使用的版本是centos 02.centos镜像下载 这里的是centos7 一.阿里云官网地址:https://www.aliyun.com/ 二. -----【文档与社区】 —【…