您的位置:

深入学习matplotlib箱线图

一、matplotlib箱线图代码

箱线图是一种用于显示一组数据分布情况和异常值的图表,由数值范围、四分位数和中位数组成,便于人们观察和比较数据组之间的差异。在matplotlib中,可以使用boxplot()函数来绘制箱线图。

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
data = np.random.randn(100, 5)

# 绘制箱线图
plt.boxplot(data)

# 显示图像
plt.show()

该段代码使用numpy生成100行5列的随机数据,然后使用boxplot()函数绘制箱线图并显示出来。可以看到,随机数据的分布情况一目了然,且函数的调用非常简单。

二、matplotlib线型有哪些

在绘制箱线图时,matplotlib提供了多种线型供选择,可以通过linestyle参数来设置线型。下面列举了matplotlib常用的线型:

  • '-' : 实线
  • '--' : 虚线
  • '-.' : 点划线
  • ':' : 点线

以下代码演示了如何使用不同的线型绘制箱线图:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
data = np.random.rand(100, 5)

# 绘制箱线图
plt.boxplot(data, linestyle='-', linewidth=1.5, color='blue')

# 显示图像
plt.show()

该段代码使用'-'线型来绘制箱线图,将其颜色设置为蓝色。可以根据需要设置线型和颜色。

三、matplotlib箱线图制作

生成箱线图的前提是要有数据,下面是一些生成箱线图的常用方法:

  • 使用numpy等库生成随机数据
  • 读取外部文件的数据
  • 使用pandas等数据分析库读取和处理数据

下面是一个从文件中读取数据并生成箱线图的示例:

import matplotlib.pyplot as plt
import pandas as pd

# 读取csv文件并取出需要绘图的数据
file_name = 'data.csv'
df = pd.read_csv(file_name)
data_list = [df.loc[df['group'] == group]['value'] for group in df['group'].unique()]

# 绘制箱线图
plt.boxplot(data_list, labels=df['group'].unique())

# 显示图像
plt.show()

该段代码从csv文件中读取了数据,取出了需要绘制的数据,并且使用labels参数设置了箱线图的标签。

四、matplotlib箱线图调整宽度

在matplotlib绘制箱线图时,可以使用width参数来调整箱线图的宽度,默认值为0.5。下面是一个例子:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
data = np.random.rand(100, 5)

# 绘制宽度为0.2的箱线图
plt.boxplot(data, widths=0.2)

# 显示图像
plt.show()

该段代码生成了宽度为0.2的箱线图。可以根据需要进行调整。

五、matplotlib箱线图均值点

在箱线图中,除了箱体、上下四分位数、最大最小值之外,还有一些独立的点,这些点表示离群值或异常值,通常需要特别注意。除此之外,在箱线图上还可以添加均值点,可以通过meanline参数来控制是否显示均值线和均值点。下面是一个例子:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
data = np.random.rand(100, 5)

# 绘制箱线图并添加均值点
plt.boxplot(data, showmeans=True, meanline=True)

# 显示图像
plt.show()

该段代码演示了如何绘制带均值点的箱线图。可以发现,均值点在图中以特殊的形状突出显示,方便观察。

六、matplotlib箱线图可以提供哪些信息

matplotlib的箱线图不仅提供了数据分布情况和异常值,还可以提供四分位数、最大值、最小值等多个重要指标,从而全面地描述了数据集的特征,并非常便于数据分析和比对。

下面是一张示例图,其中标注了matplotlib箱线图可以提供的指标:

七、matplotlib箱线图参数设定

matplotlib的箱线图除了线型、线宽、颜色等基本参数外,还有一些其他可供设定的参数:(部分代码如下)

plt.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None, medianprops=None, **kwargs)
  • notch: 是否绘制缺口,默认Fasle
  • sym:指定异常点的形状,默认为+号
  • vert: 是否将箱型图垂直摆放,默认为True
  • whis: 箱体与触须的长度,默认为1.5倍的四分位差
  • positions: 指定箱线图的位置,默认为[1,2,3,4,5...]
  • widths: 指定箱线图的宽度,默认为0.5
  • patch_artist: 是否为盒图添加颜色填充,默认为False
  • medianprops: 用于设置中位数的显示方式

通过设置这些参数,可以非常灵活地控制箱线图的各个细节部分。以下是一个具体的示例:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
data = np.random.randn(100, 5)

# 设定箱体、触须、异常点的形状、颜色和粗细
boxprops = dict(linestyle='-', linewidth=1.5, color='blue')
whiskerprops = dict(linestyle='-', linewidth=1.5, color='black')
flierprops = dict(marker='o', markersize=5, markerfacecolor='red', markeredgecolor='red')

# 设定中位数的颜色
medianprops = dict(linestyle='--', linewidth=1.5, color='green')

# 绘制箱线图并添加各种参数设置
plt.boxplot(data, boxprops=boxprops, whiskerprops=whiskerprops, flierprops=flierprops, medianprops=medianprops, showmeans=True, meanline=True)

# 显示图像
plt.show()

该段代码演示了如何通过参数设置来设定箱线图的各种细节。可以自由地修改颜色、线型、线宽和形状等等,来满足各种需求。

八、matplotlib数据可视化

matplotlib是一个Python的数据可视化工具包,支持多种图表类型,包括线型图、柱状图、饼图、散点图等等。在数据分析和机器学习领域,数据可视化具备重要的分析和解决问题的能力。

以下是一个通过matplotlib绘制柱状图的示例:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
data = np.random.rand(10)

# 绘制柱状图
plt.bar(range(len(data)), data)

# 显示图像
plt.show()

该段代码使用numpy生成了一组随机数据,并使用bar()函数绘制了柱状图。在matplotlib中,通过修改函数的参数或使用不同的函数,可以创建多种多样的图表,达到生动、简洁、直观地展示数据的目的。

九、python matplotlib 饼图

饼图是一种常见的数据可视化方式,用于表示数据占比或分布情况,非常适合于少量的分类数据呈现。在matplotlib中,可以使用pie()函数来绘制饼图。

以下是一个简单的饼图示例:

import matplotlib.pyplot as plt

# 设置数据
labels = ['A', 'B', 'C', 'D', 'E', 'F']
sizes = [15, 20, 30, 25, 5, 5]

# 绘制饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)

# 显示图像
plt.show()

该段代码使用了Python列表定义数据,可以看到函数的调用非常简便。通过调整参数,可以实现自定义标签、饼图半径、字体大小、起始角度、阴影效果、占比数值等等。