matplotlib堆叠柱状图
时间: 2023-08-28 13:07:47 浏览: 49
堆叠柱状图是一种用于比较不同类别的数据之间的相对大小的图表类型。在matplotlib中,可以使用`bar`函数来绘制堆叠柱状图。下面的代码演示了如何绘制一个简单的堆叠柱状图:
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据
labels = ['A', 'B', 'C', 'D', 'E']
men_means = [20, 35, 30, 35, 27]
women_means = [25, 32, 34, 20, 25]
# 绘制堆叠柱状图
fig, ax = plt.subplots()
ax.bar(labels, men_means, label='Men')
ax.bar(labels, women_means, bottom=men_means, label='Women')
# 添加图例和标签
ax.set_xlabel('Group')
ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.legend()
plt.show()
```
上面的代码中,我们使用了两个数据系列:`men_means`和`women_means`,分别表示男性和女性的得分。通过`bar`函数绘制两个柱状图,并使用`bottom`参数将女性的柱状图放在男性的柱状图上面,从而实现堆叠效果。最后,我们添加了图例和标签,并使用`show`函数显示图表。
如果你需要绘制更复杂的堆叠柱状图,可以使用`barh`函数(水平柱状图)或者`stackplot`函数(堆叠面积图)。同时,你还可以使用`pandas`库来读取和处理数据,并使用`matplotlib`来绘制图表。