phython制作多列堆积图
时间: 2023-09-02 08:02:36 浏览: 43
在Python中制作多列堆积图可以使用matplotlib库来实现。以下是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
# 数据
categories = ['A', 'B', 'C', 'D']
series1 = [15, 20, 25, 10]
series2 = [10, 25, 15, 30]
series3 = [20, 10, 30, 5]
# 绘图
fig, ax = plt.subplots()
# 设置每列的位置
bar_width = 0.2
bar_positions1 = range(len(categories))
bar_positions2 = [x + bar_width for x in bar_positions1]
bar_positions3 = [x + bar_width for x in bar_positions2]
# 绘制每一列
ax.bar(bar_positions1, series1, width=bar_width, label='Series 1')
ax.bar(bar_positions2, series2, width=bar_width, label='Series 2')
ax.bar(bar_positions3, series3, width=bar_width, label='Series 3')
# 设置坐标轴标签等
ax.set_xlabel('Categories')
ax.set_ylabel('Values')
ax.set_title('Stacked Bar Chart')
ax.set_xticks([x + bar_width for x in [0, 1, 2, 3]])
ax.set_xticklabels(categories)
ax.legend()
# 显示图形
plt.show()
```
此代码将创建一个堆积的柱状图,其中每列表示一个类别,并堆积了不同系列的数据。在这个例子中,有三个系列(series1、series2和series3),每个系列都有四个数据值(A、B、C和D)。使用matplotlib的ax.bar函数来绘制每一列,并根据位置和宽度来堆积它们。其他设置包括坐标轴标签、图表标题等。
运行这个代码将生成一个堆积柱状图的图形窗口,显示各个类别以及不同系列数据的相对大小。