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

参考资料:用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"])

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

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

相关文章

ssm基于WEB的文学网的设计与实现+vue论文

基于WEB的文学网的设计与实现 摘要 如今,科学技术的力量越来越强大,通过结合较为成熟的计算机技术,促进了学校、医疗、商城等许多行业领域的发展。为了顺应时代的变化,各行业结合互联网、人工智能等技术,纷纷开展了管…

CentOS 7.6下HTTP隧道代理的安全性考虑

在CentOS 7.6上配置HTTP隧道代理时,安全性是一个不可忽视的重要因素。以下是对HTTP隧道代理安全性的一些关键考虑因素: 1. 加密和数据安全 使用强加密算法:确保您使用的是经过广泛认可和强化的加密算法,如AES-256-GCM。数据完整…

STL容器之vector基本操作

目录 vector基本操作 vector构造函数 vector的遍历操作 1.重载[ ]进行遍历。 2.使用迭代器进行遍历。 3.使用范围for循环进行遍历。 4.使用at成员函数进行遍历 。 vector空间增长 1.size:获取当前元素的个数。 2.capacity:获取能存储的元素的个…

小型洗衣机什么牌子好又便宜?实用的小型洗衣机测评

随着近几年大家对于生活健康都有了更高的要求,迷你内衣裤洗衣机逐渐进入了大家的视野,并且在日常生活中所适用的人群也是比较的广泛。很多研究调查表明普通的手洗内衣裤没有办法完全清除细菌,而机洗能够去除绝大部分细菌。但是机洗对于洗衣机…

1.3号io网络

文件IO 1.文件IO是基于系统调用 2.程序每进行一次系统调用,就会从用户空间向内核空间进行一次切换,执行效率较慢 3.目的:由于后期进程间通信,如管道、套接字通信,都使用的是文件IO,所以引入文件IO操作的…

Docker安装Centos8系统

引言:最小安装版Centos8系统安装docker软件安装记录 官网安装教程:https://dockerdocs.cn/engine/install/centos/index.html 操作系统镜像版本 CentOS-Stream-8-x86_64-latest-boot.iso 第一步:更新yum yum -y update第二步:…

大模型学习之书生·浦语大模型2——趣味Demo

文章目录 Demo效果目录大模型及InternLM模型介绍InterLM-Chat-7B智能对话DemoLagent智能体工具调用Demo浦语灵笔图文创作理解Demo通用环境配置实践智能对话Demo1 创建开发机2 进入开发机并创建环境及安装依赖3 模型下载4 代码准备5 终端运行6 web demo运行 Lagent智能体工具调用…

静态关键字:static

static的作用 static是静态的意思,可以修饰成员变量和成员方法。 static修饰成员变量表示该成员变量只在内存中只存储一份,可以被共享访问、修改。 成员变量 分为2类 静态成员变量(有static修饰,属于类,内存中加载…

INT201 形式语言与自动机笔记(上)

Lec1 Overview Alphabet and String 字母表与字符串 Alphabet(字母表) a finite, nonempty set ∑ of symbols. String (word) – a finite sequence of symbols from the alphabet e.g ∑ {a, b}, then abab, aaaabbba are strings on ∑ ε Em…

利用人工智能和机器人技术实现复杂的自动化任务!

这篇mylangrobot项目由neka-nat创建,本文已获得作者Shirokuma授权进行编辑和转载。 https://twitter.com/neka_nat GitHub-mylangrobot :GitHub - neka-nat/mylangrobot: Language instructions to mycobot using GPT-4V 引言 本项目创建了一个使用GPT-4…

Prometheus实战篇:Prometheus监控rabbitmq

Prometheus实战篇:Prometheus监控rabbitmq 准备环境 docker-compose安装rabbitmq 这里注意rabbitmq需要暴露2个端口 docker-compose.yaml version: 3 services:rabbitmq:image: rabbitmq:3.7.15-managementcontainer_name: rabbitmqrestart: alwaysvolumes:- /data/rabbitmq…

漏洞复现--金蝶云星空反序列化远程代码执行

免责声明: 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

ChatGPT,革新未来,颠覆你的智能想象!

大家好我是在看,记录普通人学习探索AI之路。 你是否曾渴望对话的边界无限拓宽?是否期待科技力量重塑生活日常?ChatGPT,就是那个引领时代潮流、解锁未来智能生活的关键钥匙!它不仅仅是一个技术名词,更是新一…

看图识熊(四)

概述 人工智能已经快要进入应用的高峰期了,但并不需要每个人都学习算法、建模。对于程序员来说,应该先从自己会的方向入手,学习如何应用AI来解决问题,开发应用。 本文将带着大家动手,从头做一个看图识熊的应用&#…

rk3566 armbian修复usb2.0并挂载U盘

文章目录 usb接口修复一 执行命令二 修改rk3566-panther-x2.dts⽂件三 查看是否识别 U盘格式化、挂载一 U盘格式化1.1 查看U盘1.2 查看U盘文件系统类型1.3 格式化为ext4系统 二 挂载U盘2.1 手动挂载2.2 自动挂载(可选) usb接口修复 一 执行命令 将位于…

1.69寸SPI接口240*280TFT液晶显示模块使用硬件SPI,并提高全屏刷新率的方法探讨

1.69寸SPI接口240*280TFT液晶显示模块,卖家提供了GPIO模拟SPI功能,我移植到了freertos,并点亮了屏幕,接下来是进行硬件SPI的程序修改: 上次还讲到了关于CS管脚的选通信号,再GPIO口的初始化的时候设置为高电…

年度盘点 | 信捷科技2023年的精彩瞬间

岁序更替,华章日新 与你同行的每一天,我们写下了无数回忆 我们一起穿越城市,畅享便捷 看到了“村超”的精彩 聆听了路边音乐节的热闹 见证了贵阳步入轨道交通“线网时代” …… 我们一起携手并进 让每一次出行都成为双向奔赴的可能 …

抖音矩阵系统源码开发

抖音作为一款流行的短视频分享平台,每天吸引着数以亿计的用户,在全球范围内广受欢迎。为了支持如此庞大的用户群体,抖音必须依靠强大的矩阵系统来支撑其稳定的运行。下面将介绍抖音矩阵系统的源码开发。 抖音矩阵系统源码开发主要有以下几个…

振弦采集仪在桥梁结构监测中的应用研究

振弦采集仪在桥梁结构监测中的应用研究 振弦采集仪在桥梁结构监测中的应用研究是指利用振弦采集仪对桥梁结构进行监测和数据采集的研究。振弦采集仪是一种能够实时监测桥梁结构振动情况的设备,通过采集桥梁上的振弦传感器获取振动数据,并将数据传输到监…

vue3+vite +element plus日历date picker中文显示

项目情况 element-plus 默认是英文模式,需要中文模式的话需要设置一下: 项目框架(vue3):vite JS element-plus 版本:(注意版本兼容,element plus 较低版本:1.xx.xx&a…