python绘制堆叠柱形图,图形要x轴要四块,每块有三列,y轴有四种不一样的数在同一个柱上
时间: 2024-03-13 07:44:44 浏览: 64
好的,您可以使用 Matplotlib 库来绘制堆叠柱形图。下面是一个示例代码,可以满足您的需求:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.arange(4) # x轴四个块
y1 = np.array([1, 2, 3, 4]) # 第一列数据
y2 = np.array([2, 3, 4, 5]) # 第二列数据
y3 = np.array([3, 4, 5, 6]) # 第三列数据
y4 = np.array([4, 5, 6, 7]) # 第四列数据
# 绘制堆叠柱形图
plt.bar(x, y1, color='r', label='Column 1')
plt.bar(x, y2, bottom=y1, color='g', label='Column 2')
plt.bar(x, y3, bottom=y1+y2, color='b', label='Column 3')
plt.bar(x, y4, bottom=y1+y2+y3, color='y', label='Column 4')
# 添加标签和标题
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.title('Stacked Bar Chart')
# 显示图例
plt.legend()
# 显示图形
plt.show()
```
在上述代码中,首先创建了四个 NumPy 数组,分别表示 x 轴的四块和每块上的三列数据。然后使用 `plt.bar()` 函数绘制堆叠柱形图,其中 `bottom` 参数指定了每个柱形的底部所在的高度,从而实现了堆叠效果。最后添加了标签、标题和图例,并使用 `plt.show()` 函数显示图形。
您可以根据实际需求修改数据和参数,进一步定制自己的堆叠柱形图。
阅读全文