【数据分析之道-Matplotlib(八)】Matplotlib箱线图

news/2024/11/25 7:43:40/

在这里插入图片描述

文章目录

  • 专栏导读
  • 1、Matplotlib箱线图boxplot()基本语法
  • 2、Matplotlib箱线图boxplot()举例异常值
  • 3、Matplotlib箱线图boxplot()样式定义
  • 4、Matplotlib箱线图boxplot()举例带缺口
  • 5、Matplotlib箱线图boxplot()举例横向显示
  • 6、Matplotlib箱线图boxplot()举例显示平均值
  • 7、Matplotlib箱线图boxplot()举例隐藏异常值
  • 8、Matplotlib箱线图boxplot()举例异常值的样式
  • 9、Matplotlib箱线图boxplot()举例箱子的样式
  • 11、Matplotlib箱线图boxplot()举例标签说明

专栏导读

✍ 作者简介:i阿极,CSDN 数据分析领域优质创作者,专注于分享python数据分析领域知识。

本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》 ,《机器学习案例》

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪

1、Matplotlib箱线图boxplot()基本语法

箱线图(Box Plot)是一种用于显示数据分布和异常值的可视化方法。它展示了一组数据的五个统计量:最小值(minimum)、第一四分位数(lower quartile)、中位数(median)、第三四分位数(upper quartile)和最大值(maximum)。箱线图还可以显示异常值(outliers)和数据的分布情况。

Matplotlib库提供了绘制箱线图的函数,其基本语法如下:

plt.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None,patch_artist=None, meanline=None, showmeans=None, showcaps=None, showbox=None, showfliers=None, boxprops=None, labels=None, flierprops=None, medianprops=None, meanprops=None, capprops=None, whiskerprops=None)

下面是一些常用参数的解释:

  • x: 必需参数,要绘制箱线图的数据,可以是一个数组、一个或多个列表、或一个二维数组。
  • notch: 可选参数,控制箱体是否带缺口,默认值为False。
  • sym: 可选参数,指定异常值的标记符号,默认值为None。
  • vert: 可选参数,控制箱线图的方向,可以是垂直(True)或水平(False),默认值为True。
  • whis: 可选参数,指定箱线图的须的长度,表示数据的分布范围,默认值为1.5。
  • showfliers: 可选参数,控制是否显示异常值,默认值为True。
  • boxprops: 可选参数,用于设置箱体的属性,如颜色、填充等。
  • labels: 可选参数,用于设置箱线图的标签。

下面是一个简单的示例,演示如何使用箱线图绘制一组数据的分布:

import matplotlib.pyplot as plt
import numpy as np# 生成随机数据
np.random.seed(0)
data = np.random.randn(100)# 绘制箱线图
plt.boxplot(data)# 添加标签和标题
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot')# 显示图表
plt.show()

在这里插入图片描述

下面是一个示例,演示如何绘制多个箱线图:

import matplotlib.pyplot as plt
import numpy as np# 生成随机数据
np.random.seed(0)
data1 = np.random.randn(100)
data2 = np.random.randn(100)
data3 = np.random.randn(100)# 将数据组织为二维数组
data = [data1, data2, data3]# 绘制多个箱线图
plt.boxplot(data)# 添加标签和标题
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Multiple Box Plots')# 显示图表
plt.show()

在这里插入图片描述

2、Matplotlib箱线图boxplot()举例异常值

在箱线图中,异常值是指位于数据分布之外的值,它们与其他数据点相比明显偏离。异常值可以通过箱线图的须和离群点来表示。

下面是一个示例,演示如何在箱线图中标记异常值:

import matplotlib.pyplot as plt
import numpy as np# 生成带有异常值的随机数据
np.random.seed(0)
data = np.concatenate([np.random.normal(0, 1, 100), np.array([5, -5, 8, -8])])# 绘制箱线图
plt.boxplot(data, showfliers=True)# 添加标签和标题
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot with Outliers')# 显示图表
plt.show()

在这里插入图片描述

在这个示例中,我们生成了一个包含正态分布数据和异常值的随机数据集data。异常值包括值为5、-5、8和-8的数据点。
然后,我们使用plt.boxplot()函数并将showfliers参数设置为True,以显示箱线图中的异常值。
最后,我们添加了标签和标题,以便更好地说明图表的含义。

3、Matplotlib箱线图boxplot()样式定义

boxplot()函数提供了一系列参数,可以用于自定义箱线图的样式。

import matplotlib.pyplot as plt
import numpy as np# Generate random data
np.random.seed(0)
data = np.random.randn(100)# Define boxplot styles
boxprops = dict(facecolor='lightblue')
flierprops = dict(marker='o', markerfacecolor='green', markersize=5, linestyle='none')# Create boxplot
plt.boxplot(data, patch_artist=True, boxprops=boxprops, flierprops=flierprops)# Add labels and title
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Customized Box Plot')# Show the plot
plt.show()

在这里插入图片描述

4、Matplotlib箱线图boxplot()举例带缺口

当绘制箱线图时,你可以使用notch=True参数来为箱体添加一个缺口,用于表示数据的置信区间。缺口的宽度取决于数据的分布。下面是一个带有缺口的箱线图示例:

import matplotlib.pyplot as plt
import numpy as np# 生成随机数据
np.random.seed(0)
data = np.random.randn(100)# 绘制带有缺口的箱线图
plt.boxplot(data, notch=True)# 添加标签和标题
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot with Notch')# 显示图表
plt.show()

在这里插入图片描述

在这个示例中,我们生成了一个随机数据集data。然后,我们使用plt.boxplot()函数并将notch=True作为参数传递,以绘制带有缺口的箱线图。
最后,我们添加了标签和标题,以便更好地说明图表的含义。

5、Matplotlib箱线图boxplot()举例横向显示

当你想要绘制横向的箱线图时,你可以使用vert=False参数将箱线图的方向设置为水平方向。这样,箱体和须将水平放置,而不是垂直放置。下面是一个横向显示的箱线图示例:

import matplotlib.pyplot as plt
import numpy as np# 生成随机数据
np.random.seed(0)
data = np.random.randn(100)# 绘制横向箱线图
plt.boxplot(data, vert=False)# 添加标签和标题
plt.xlabel('Values')
plt.ylabel('Data')
plt.title('Horizontal Box Plot')# 显示图表
plt.show()

在这里插入图片描述

在这个示例中,我们生成了一个随机数据集data。然后,我们使用plt.boxplot()函数并将vert=False作为参数传递,以绘制横向的箱线图。
最后,我们添加了标签和标题,以便更好地说明图表的含义。

6、Matplotlib箱线图boxplot()举例显示平均值

要在箱线图上显示平均值,你可以使用meanline=True参数来绘制平均线。下面是一个示例:

import matplotlib.pyplot as plt
import numpy as np# 生成随机数据
np.random.seed(0)
data = np.random.randn(100)# 绘制箱线图并显示平均值
plt.boxplot(data, meanline=True, showmeans=True)# 添加标签和标题
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot with Mean')# 显示图表
plt.show()

在这里插入图片描述

在这个示例中,我们生成了一个随机数据集data。然后,我们使用plt.boxplot()函数并将meanline=True和showmeans=True作为参数传递,以绘制带有平均线的箱线图。
最后,我们添加了标签和标题,以便更好地说明图表的含义。

7、Matplotlib箱线图boxplot()举例隐藏异常值

要在箱线图中隐藏异常值,你可以使用showfliers=False参数。下面是一个示例:

import matplotlib.pyplot as plt
import numpy as np# 生成随机数据
np.random.seed(0)
data = np.random.randn(100)# 绘制箱线图并隐藏异常值
plt.boxplot(data, showfliers=False)# 添加标签和标题
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot without Outliers')# 显示图表
plt.show()

在这里插入图片描述

8、Matplotlib箱线图boxplot()举例异常值的样式

要自定义箱线图中异常值的样式,你可以使用flierprops参数来指定异常值的属性。下面是一个示例:

import matplotlib.pyplot as plt
import numpy as np# 生成随机数据
np.random.seed(0)
data = np.random.randn(100)
outliers = [2.5, -3.8, 3.2]  # 自定义异常值# 绘制箱线图并自定义异常值样式
plt.boxplot(data, flierprops={'marker': 'x', 'markerfacecolor': 'red', 'markersize': 8, 'linestyle': 'none'},notch=True, showfliers=True)# 添加自定义异常值
plt.scatter(np.full(len(outliers), 1), outliers, marker='x', color='red')# 添加标签和标题
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot with Custom Outliers')# 显示图表
plt.show()

在这里插入图片描述

在这个示例中,我们生成了一个随机数据集data,并定义了一些自定义的异常值outliers。然后,我们使用plt.boxplot()函数并通过flierprops参数传递一个字典来自定义异常值的样式,包括marker、markerfacecolor、markersize和linestyle。
为了显示自定义的异常值,我们使用plt.scatter()函数在相应位置上绘制了红色的"x"标记。
最后,我们添加了标签和标题,以便更好地说明图表的含义。

9、Matplotlib箱线图boxplot()举例箱子的样式

要自定义箱线图中箱子的样式,你可以使用boxprops参数来指定箱子的属性。下面是一个示例:

import matplotlib.pyplot as plt
import numpy as np# 生成随机数据
np.random.seed(0)
data = np.random.randn(100)# 绘制箱线图并自定义箱子样式
plt.boxplot(data, boxprops={'color': 'green', 'linewidth': 2, 'linestyle': '--'},notch=True, showfliers=True)# 添加标签和标题
plt.xlabel('Data')
plt.ylabel('Values')
plt.title('Box Plot with Custom Box Style')# 显示图表
plt.show()

在这里插入图片描述

在这个示例中,我们生成了一个随机数据集data。然后,我们使用plt.boxplot()函数并通过boxprops参数传递一个字典来自定义箱子的样式,包括color、linewidth和linestyle。
在这里,我们将箱子的颜色设置为绿色,线宽设置为2,线型设置为虚线。
最后,我们添加了标签和标题,以便更好地说明图表的含义。

11、Matplotlib箱线图boxplot()举例标签说明

要为箱线图添加标签说明,你可以使用labels参数来指定每个数据组的标签。下面是一个示例:

import matplotlib.pyplot as plt
import numpy as np# 生成随机数据
np.random.seed(0)
data1 = np.random.randn(100)
data2 = np.random.randn(100) + 2
data3 = np.random.randn(100) - 2# 绘制多个箱线图并添加标签说明
plt.boxplot([data1, data2, data3], labels=['Group 1', 'Group 2', 'Group 3'])# 添加标签和标题
plt.xlabel('Groups')
plt.ylabel('Values')
plt.title('Box Plot with Labels')# 显示图表
plt.show()

在这里插入图片描述

在这个示例中,我们生成了三组随机数据:data1、data2和data3。然后,我们使用plt.boxplot()函数传递这三组数据,并通过labels参数指定每个数据组的标签。
最后,我们添加了标签和标题,以便更好地说明图表的含义。


📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗


http://www.ppmy.cn/news/292763.html

相关文章

传统ERP软件如何SaaS化?

01 ERP和SaaS ERP概念 企业资源计划 (ERP) 系统是许多企业的主干,助力管理整个企业内的会计、采购流程、项目等。对于许多 IT 部门而言,ERP 系统通常意味着大型、昂贵且耗时的部署,并可能需要进行大量硬件或基础设施投资。然而,云…

若依集成分库分表(一)

1.本次需求为同库分表 1.1 引入pom依赖 <!-- sharding-jdbc分库分表 --> <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-core</artifactId><version>4.1.1</version> </dependenc…

Python入门教程+项目实战-13.3节-集合的快速查找

目录 13.3.1 键的输出顺序 13.4.2 键的数据类型 13.4.3 集合的快速查找 13.4.4 知识要点 13.4.5 系统学习python 13.3.1 键的输出顺序 集合类型的底层实现基于哈希表&#xff0c;键的输出顺序取决于键在哈希表中的存储顺序。 对哈希表结构不是很熟悉的同学&#xff0c;可…

为啥无线随身设备显示无服务器,随身WiFi怎么用_移动wifi怎么用【图文】-太平洋IT百科...

随身wifi怎么用 随身wifi就是可以随身携带的wifi信号&#xff0c;通过无线移动路由器和无线运营商提供的无线上网芯片(sim卡)&#xff0c;组成一个可以移动的wifi接收发射信号源。随身wifi怎么用&#xff1f;通过此套设备&#xff0c;可以连接到2.5G、3G或者4G网络上&#xff0…

手机做web服务器 无限流量,无限流量卡和手机随身无线wifi,你选择哪一个?

随着科技水平的发展&#xff0c;人们的网络需求日益倍增。现在市场上最多的产品是无限流量卡和手机随身无线wifi。而运营商推出的流量卡套餐又各不相同&#xff0c;有的人又有选择恐惧症&#xff0c;进退两难啊&#xff0c;但是有一点小编是知道的&#xff0c;低消费、又实惠、…

如何利用wifi盈利

一只小蝴蝶的翅膀挥动&#xff0c;可能即将扇起一场狂野飓风。这只蝴蝶&#xff0c;就是WiFi无线网络接入。目前&#xff0c;BAT三大巨头已经在这领域争来斗去&#xff0c;百度推出了小度WiFi&#xff0c;阿里与树熊合作&#xff0c;360也发布了随身WiFi。但上述对无线上网入口…

WiFi万能钥匙 v4.3.50

类型&#xff1a;系统工具 版本&#xff1a;v4.3.50 大小&#xff1a;27.5M 更新&#xff1a;2019/2/28 语言&#xff1a;简体 等级&#xff1a; 平台&#xff1a;安卓, 4.0以上 厂商&#xff1a;WiFi万能钥匙 下载地址&#xff1a; WiFi万能钥匙 v4.3.50&#xff08;1&#xf…

Windows 7/8 创建WIFI热点

问题描述&#xff1a;很多人&#xff08;特别是中国的大学生&#xff09;都拥有一台联网的笔记本电脑&#xff0c;而手机使用的却是电信运营商提供的限制数量和速度的GPRS。 很多人不敢想象&#xff1a;联网的笔记本电脑能够将其流量以WiFi的形式共享出来供其它设备——例如Pad…