matplotlib库绘制堆积柱状图绘制堆积柱状图
时间: 2023-10-17 22:10:17 浏览: 94
使用matplotlib库绘制堆积柱状图可以用于比较不同类别数据的总量以及它们的组成部分。下面是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
categories = ['A', 'B', 'C', 'D']
data1 = [20, 35, 30, 25]
data2 = [10, 25, 20, 30]
data3 = [5, 10, 15, 20]
# 绘制堆积柱状图
fig, ax = plt.subplots()
ax.bar(categories, data1, label='Data 1')
ax.bar(categories, data2, bottom=data1, label='Data 2')
ax.bar(categories, data3, bottom=np.array(data1)+np.array(data2), label='Data 3')
# 添加图例和标签
ax.legend()
ax.set_xlabel('Category')
ax.set_ylabel('Value')
ax.set_title('Stacked Bar Chart')
plt.show()
```
解释一下上面的代码:
- 首先,我们定义了四个类别(A,B,C,D)和三组数据(data1,data2,data3)。这些数据代表每个类别的总量以及它们的组成部分。
- 然后,我们使用`ax.bar()`函数绘制堆积柱状图。我们为每个类别绘制三个矩形,分别代表三组数据。`bottom`参数表示每个矩形的底部位置,因此第二组和第三组数据的底部位置都是前面的组成部分加起来的结果。
- 最后,我们添加图例和标签,然后显示图形。
运行上面的代码,你将得到一个堆积柱状图,它显示了每个类别的总量以及它们的组成部分。你可以根据需要修改类别和数据,以满足你的需求。
阅读全文