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

文章目录

  • 专栏导读
  • 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博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年6月10日
下一篇 2023年6月10日

相关推荐

此站出售,如需请站内私信或者邮箱!