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&#…

使用 pdfh5 实现 pdf 预览功能

1. 安装 npm install pdfh5 2. 使用 html部分&#xff1a; <div id"showPdf" style"width: 100%;"></div> js部分&#xff1a; <script> //合同展示组件 import Pdfh5 from pdfh5 //合同组件样式 import pdfh5/css/pdfh5.css expo…

Educational Codeforces Round 160 (Rated for Div. 2) D. Array Collapse(单调栈+dp)

题目 给定一个长为n(n<2e5)的排列&#xff0c;你可以执行以下操作若干次&#xff0c; 每次你可以选择一个区间[l,r]&#xff0c;只保留这个区间内的最小值&#xff0c;将其他值都删除 删完之后前后位置会自动接上&#xff0c;形成一个新的数组 求这样操作若干次后&#…

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是基于亮度&#xff08;灰色&#xff09;或颜色通道的特定范围来显示或隐藏图层的特定区域。 当前图层 Current Layer&#xff0c;可根据当前图层的亮度值来隐藏该图层中的像素。 下一图层 Underlying Layer&#xff0c;可根据下方所有图层的复合图像的亮度…

地理空间分析5——空间关联分析与Python

目录 写在开头1.空间自相关2.空间回归分析2.1 构建地理权重矩阵2.2 执行空间回归分析2.3 解释结果3 地理加权回归3.1 构建地理权重矩阵3.2 执行地理加权回归分析3.3 解释地理加权回归结果写在最后写在开头 空间关联分析是数据科学领域中一个重要的技术,尤其在地理信息系统(G…

数据密集型应用系统设计--3.1 数据库核心:数据结构

3.1 数据库核心&#xff1a;数据结构 数据库只需做两件事情&#xff1a;向它插入数据肘&#xff0c;它就保存数据&#xff1a;之后查询时&#xff0c;它应该返回那些数据。 本章我们主要从数据库的角度再来探讨同样的问题&#xff0c;即如何存储输入的数据&#xff0c;井在收到…

单向可控硅充电电路图

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

React16源码: React中FiberRoot的源码实现

关于 FiberRoot 1 &#xff09;概述 在 ReactDOM.render 过程当中&#xff0c;创建了一个 ReactRoot的对象这个 ReactRoot 对象最主要承担了创建 FiberRoot 对象这个对象它非常重要&#xff0c;在后期整个应用调度过程当中都会跟它有关关于 FiberRoot 对象 A. 它是整个应用的起…

es6中箭头函数 原型

箭头函数 特性 箭头函数的特性 不绑定arguments&#xff0c;用rest参数…解决本身没有this的概念&#xff0c;捕获其所在上下文的 this 值作为自己的 this 值&#xff0c;this指向全局箭头函数不能使用new&#xff08;会报错&#xff09;箭头函数没有原型属性(prototype)箭头函…

力扣labuladong一刷day54天前缀树

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

linux源码解读系列

Linux 源码解读是一个深入且复杂的领域&#xff0c;涵盖了操作系统的核心部分&#xff0c;包括内核架构、进程管理、内存管理、文件系统、网络通信等。由于 Linux 内核源码庞大且复杂&#xff0c;通常需要具备扎实的操作系统理论知识和C语言编程能力。下面是一些推荐的资源和方…

一键了解获取网页requests方式

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

C++用宏实现类成员反射

序 本文我们看下用宏来实现反射&#xff0c;在一些伙伴使用c版本还不是那么高的情况下但又需要反射的一些技巧&#xff0c;这里使用的代码是iguana里的实现&#xff0c;我对它关于反射的地方提炼一下&#xff0c;稍微改动了下。iguana是比较优秀的序列化库&#xff0c;其中使用…

Android TCP、UDP区别

目录 TCP、UDP区别 连接性 可靠性 流量控制和拥塞控制 应用场景 小结 Android 中的TCP、UDP TCP&#xff08;传输控制协议&#xff09; UDP&#xff08;用户数据报协议&#xff09; 小结 TCP、UDP区别 TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用户…

Java开发HttpSession详解

Java开发HttpSession详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一同深入探讨Java中的HttpSession&#xff0c;了解其在Web开发中的…

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

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

【二叉树】二叉树根节点到叶子节点的所有路径和

题目&#xff0c;来自牛客网 法1&#xff1a;使用全局变量 public class Solution {public int res 0;public int sumNumbers (TreeNode root) {if (root null) {return 0;}dfs(root, 0);return res;}public void dfs(TreeNode root, int preSum) {if (root.left null &am…