atplotlib库提供了多种绘制堆叠柱状图的方法,下面介绍一种常用的方法。
atplotlibumpy库
“`portatplotlib.pyplot as pltportumpyp
接着,需要准备好数据。假设大家要绘制两个分类(和B)在不同年份的销售额情况
years = [2016, 2017, 2018, 2019, 2020]
sales_ = [100, 160, 180]
sales_B = [80, 100, 160]
umpysum函数将两个分类的数据累加起来,得到堆叠柱状图需要的数据格式
“`p.array([sales_, sales_B])psum(totals, axis=0)
atplotlib库中的bar函数绘制堆叠柱状图。需要注意的是,bar函数需要传入两个参数x轴的位置和每个柱子的高度。由于堆叠柱状图需要将不同分类的数据堆叠在一起,因此需要先绘制底部的柱子,然后再绘制上面的柱子。具体代码如下
plt.bar(years, sales_, color=’b’)=sales_, color=’r’)
参数用于指定上面的柱子应该堆叠在哪个柱子的上面。
,可以添加一些图例、标签等来美化图表
“`d([”, ‘B’])
plt.xlabel(‘Year’)
plt.ylabel(‘Sales’)
plt.title(‘Stacked Bar Chart’)
plt.show()
完整代码如下
“`portatplotlib.pyplot as pltportumpyp
years = [2016, 2017, 2018, 2019, 2020]
sales_ = [100, 160, 180]
sales_B = [80, 100, 160]
p.array([sales_, sales_B])psum(totals, axis=0)
plt.bar(years, sales_, color=’b’)=sales_, color=’r’)
d([”, ‘B’])
plt.xlabel(‘Year’)
plt.ylabel(‘Sales’)
plt.title(‘Stacked Bar Chart’)
plt.show()
运行代码,即可得到如下的堆叠柱状图
通过这种方式,可以方便地绘制出多个分类在不同维度上的数据堆叠柱状图。