Matplotlib箱型图怎么制作

Matplotlib箱型图怎么制作

Matplotlib箱型图怎么制作

在数据可视化中,箱型图是一种常用的统计图表,用于展示数据的分布情况,包括中位数、上下四分位数、异常值等信息。在Python中,matplotlib库提供了丰富的绘图功能,可以轻松制作箱型图。本文将详细介绍如何使用matplotlib库制作箱型图,并提供多个示例代码。

1. 导入matplotlib库

首先,我们需要导入matplotlib库,并设置绘图风格为经典风格,以便更好地展示箱型图。

import matplotlib.pyplot as plt
plt.style.use('classic')

2. 创建数据集

接下来,我们需要创建一个包含多个数据集的示例数据,以便绘制箱型图。这里我们使用随机数生成器生成一组数据。

import numpy as np

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

3. 绘制简单箱型图

首先,我们可以绘制一个简单的箱型图,展示一个数据集的分布情况。

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('classic')

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

plt.boxplot(data1)
plt.title('Boxplot of Data1')
plt.show()

代码运行结果:

Matplotlib箱型图怎么制作

运行以上代码,我们可以得到一个简单的箱型图,展示了data1数据集的分布情况。

4. 绘制多个数据集的箱型图

接下来,我们可以绘制多个数据集的箱型图,以便比较它们的分布情况。

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('classic')

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

plt.boxplot(data, labels=['Data1', 'Data2', 'Data3'])
plt.title('Boxplot of Multiple Datasets')
plt.show()

代码运行结果:

Matplotlib箱型图怎么制作

运行以上代码,我们可以得到一个包含多个数据集的箱型图,展示了data1、data2和data3数据集的分布情况。

5. 自定义箱型图样式

除了默认的箱型图样式外,我们还可以自定义箱型图的样式,包括颜色、线型、填充等。

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('classic')

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

plt.boxplot(data, labels=['Data1', 'Data2', 'Data3'], patch_artist=True, boxprops=dict(facecolor='skyblue', color='blue'), whiskerprops=dict(color='green', linestyle='--'), medianprops=dict(color='red', linewidth=2))
plt.title('Customized Boxplot')
plt.show()

代码运行结果:

Matplotlib箱型图怎么制作

运行以上代码,我们可以得到一个自定义样式的箱型图,展示了data1、data2和data3数据集的分布情况,并且箱体为天蓝色,中位数线为红色,离群值线为绿色虚线。

6. 横向箱型图

除了纵向箱型图外,我们还可以绘制横向箱型图,以便更好地展示数据集的分布情况。

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('classic')

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

plt.boxplot(data, labels=['Data1', 'Data2', 'Data3'], vert=False)
plt.title('Horizontal Boxplot')
plt.show()

代码运行结果:

Matplotlib箱型图怎么制作

运行以上代码,我们可以得到一个横向箱型图,展示了data1、data2和data3数据集的分布情况。

7. 堆叠箱型图

在某些情况下,我们需要将多个数据集的箱型图堆叠在一起,以便更好地比较它们的分布情况。

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('classic')

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

plt.boxplot(data, labels=['Data1', 'Data2', 'Data3'], positions=[1, 2, 3])
plt.boxplot(data, labels=['Data4', 'Data5', 'Data6'], positions=[4, 5, 6])
plt.title('Stacked Boxplot')
plt.show()

代码运行结果:

Matplotlib箱型图怎么制作

运行以上代码,我们可以得到一个堆叠的箱型图,展示了data1、data2和data3数据集以及data4、data5和data6数据集的分布情况。

8. 分组箱型图

除了堆叠箱型图外,我们还可以绘制分组箱型图,以便更好地比较不同组之间的数据分布情况。

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('classic')

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

plt.boxplot([data1, data2, data3], labels=['Group1', 'Group2', 'Group3'])
plt.title('Grouped Boxplot')
plt.show()

代码运行结果:

Matplotlib箱型图怎么制作

运行以上代码,我们可以得到一个分组的箱型图,展示了不同组的数据集的分布情况。

9. 添加网格线和标签

为了更好地展示箱型图,我们可以添加网格线和标签,以便更清晰地展示数据分布情况。

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('classic')

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

plt.boxplot(data, labels=['Data1', 'Data2', 'Data3'])
plt.grid(True)
plt.xlabel('Groups')
plt.ylabel('Values')
plt.title('Boxplot with Grid and Labels')
plt.show()

代码运行结果:

Matplotlib箱型图怎么制作

运行以上代码,我们可以得到一个带有网格线和标签的箱型图,展示了data1、data2和data3数据集的分布情况。

10. 添加图例

在绘制多个数据集的箱型图时,我们可以添加图例,以便更好地区分不同数据集。

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('classic')

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

plt.boxplot(data, labels=['Data1', 'Data2', 'Data3'])
plt.legend()
plt.title('Boxplot with Legend')
plt.show()

运行以上代码,我们可以得到一个带有图例的箱型图,展示了data1、data2和data3数据集的分布情况。

通过以上示例代码,我们可以看到如何使用matplotlib库制作箱型图,并对其进行自定义样式、横向展示、堆叠展示、分组展示等操作。箱型图是一种非常有用的统计图表,可以帮助我们更好地理解数据的分布情况,从而做出更准确的分析和决策。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程