x = np.arange(1,6) y1 = np.array([5,4,7,2,9]) y2 = np.array([3,5,2,4,10]) y3 = np.array([3,4,6,2,5])在绘制堆叠柱状图时如何从y1、y2、y3中取数
时间: 2024-10-16 20:16:36 浏览: 15
numpy np.newaxis 的实用分享
在Python中,你可以使用Matplotlib库中的`plt.bar()`函数创建堆叠柱状图。给定`x`作为共享的x轴数据,你需要将每个`y`数组作为单独的一组数据传递进去。对于`y1`, `y2`, 和 `y3`,你可以这样操作:
```python
import matplotlib.pyplot as plt
x = np.arange(1, 6)
y1 = np.array([5, 4, 7, 2, 9])
y2 = np.array([3, 5, 2, 4, 10])
y3 = np.array([3, 4, 6, 2, 5])
# 创建堆叠柱状图
plt.bar(x, y1, label='Series 1') # 第一组数据
plt.bar(x, y2, bottom=y1, label='Series 2') # 第二组数据,bottom参数用于设置前一层的高度
plt.bar(x, y3, bottom=np.add(y1, y2), label='Series 3') # 第三组数据,bottom参数等于前两层高度之和
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Stacked Bar Chart')
plt.legend()
plt.show()
```
这将会画出三个系列堆积在一起的柱状图。
阅读全文