Matplotlib Box Plots

Matplotlib Box Plots

参考:matplotlib box plots

在数据分析和统计领域,箱形图(Box Plot)是一种非常有效的可视化工具,用于展示数据的分布情况。它可以快速地给出数据的中位数、四分位数、异常值等统计信息。本文将详细介绍如何使用Matplotlib库来创建箱形图,并通过10-20个示例代码展示不同的箱形图绘制技巧。

1. 基础箱形图

首先,我们从最基础的箱形图绘制开始。在Matplotlib中,可以使用boxplot函数来创建箱形图。

示例代码 1:绘制单个箱形图

import matplotlib.pyplot as plt
import numpy as np

data = np.random.normal(loc=0, scale=1, size=100)
plt.boxplot(data)
plt.title("基础箱形图 - how2matplotlib.com")
plt.show()

Output:

Matplotlib Box Plots

示例代码 2:绘制多个箱形图

import matplotlib.pyplot as plt
import numpy as np

data1 = np.random.normal(loc=0, scale=1, size=100)
data2 = np.random.normal(loc=1, scale=2, size=100)
data = [data1, data2]
plt.boxplot(data)
plt.title("多个箱形图 - how2matplotlib.com")
plt.show()

Output:

Matplotlib Box Plots

2. 自定义箱形图

Matplotlib允许用户自定义箱形图的各个组成部分,如箱体的颜色、边界线的样式等。

示例代码 3:自定义箱体颜色

import matplotlib.pyplot as plt
import numpy as np

data = np.random.normal(loc=0, scale=1, size=100)
plt.boxplot(data, boxprops=dict(color="blue"))
plt.title("自定义箱体颜色 - how2matplotlib.com")
plt.show()

Output:

Matplotlib Box Plots

示例代码 4:自定义异常值标记

import matplotlib.pyplot as plt
import numpy as np

data = np.random.normal(loc=0, scale=1, size=100)
plt.boxplot(data, flierprops=dict(marker='o', color='red', markersize=5))
plt.title("自定义异常值标记 - how2matplotlib.com")
plt.show()

Output:

Matplotlib Box Plots

3. 水平箱形图

除了默认的垂直箱形图,Matplotlib也支持绘制水平箱形图。

示例代码 5:绘制水平箱形图

import matplotlib.pyplot as plt
import numpy as np

data = np.random.normal(loc=0, scale=1, size=100)
plt.boxplot(data, vert=False)
plt.title("水平箱形图 - how2matplotlib.com")
plt.show()

Output:

Matplotlib Box Plots

4. 显示异常值

在箱形图中,异常值的显示是非常重要的一个功能,它帮助我们识别数据中的离群点。

示例代码 6:显示异常值

import matplotlib.pyplot as plt
import numpy as np

data = np.random.normal(loc=0, scale=1, size=100)
plt.boxplot(data, showfliers=True)
plt.title("显示异常值 - how2matplotlib.com")
plt.show()

Output:

Matplotlib Box Plots

5. 调整箱形图的宽度

有时候,为了更好地展示数据,我们需要调整箱形图的宽度。

示例代码 7:调整箱形图的宽度

import matplotlib.pyplot as plt
import numpy as np

data = np.random.normal(loc=0, scale=1, size=100)
plt.boxplot(data, widths=0.5)
plt.title("调整箱形图的宽度 - how2matplotlib.com")
plt.show()

Output:

Matplotlib Box Plots

6. 分组箱形图

当我们需要比较不同组之间的数据分布时,分组箱形图非常有用。

示例代码 8:绘制分组箱形图

import matplotlib.pyplot as plt
import numpy as np

data1 = np.random.normal(loc=0, scale=1, size=100)
data2 = np.random.normal(loc=1, scale=2, size=100)
data3 = np.random.normal(loc=2, scale=1.5, size=100)
data = [data1, data2, data3]

plt.boxplot(data, positions=[1, 2, 4])
plt.title("分组箱形图 - how2matplotlib.com")
plt.show()

Output:

Matplotlib Box Plots

7. 带有填充色的箱形图

我们可以给箱形图添加填充色,以增强视觉效果。

示例代码 9:带有填充色的箱形图

import matplotlib.pyplot as plt
import numpy as np

data = np.random.normal(loc=0, scale=1, size=100)
plt.boxplot(data, patch_artist=True, boxprops=dict(facecolor="lightblue"))
plt.title("带有填充色的箱形图 - how2matplotlib.com")
plt.show()

Output:

Matplotlib Box Plots

8. 自定义异常值处理

在某些情况下,我们可能需要自定义异常值的处理方式。

示例代码 10:自定义异常值处理

import matplotlib.pyplot as plt
import numpy as np

data = np.random.normal(loc=0, scale=1, size=100)
plt.boxplot(data, flierprops=dict(marker='x', color='green'))
plt.title("自定义异常值处理 - how2matplotlib.com")
plt.show()

Output:

Matplotlib Box Plots

结论

通过上述示例代码,我们可以看到Matplotlib提供了丰富的功能来创建和自定义箱形图。无论是基础的箱形图绘制,还是更高级的自定义选项,Matplotlib都能够满足我们的需求。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程