简介
堆积条形图作为条形图的一种,能够显示单个项目与整体之间的关系。不仅可以直观的看出每个系列的值,还能够反映出系列的总和,尤其是当需要看某一项目的总和以及其组成各系列值的比重时,最适合使用堆积条形图。
绘制堆积条形图基础版
1 import matplotlib.pyplot as plot2 3 A = [5., 30., 45., 22.]4 B = [5., 25., 50., 20.]5 6 X = range(4)7 plot.bar(X, A, color = 'b')8 plot.bar(X, B, color = 'r', bottom = A)9 plot.show()
上述代码:
#3 各项目组成系列值一。
#4 各项目组成系列值二。
#7 绘制各项目组成系列值一条形图。
#8 绘制各项目组成系列值二条形图,并声明指定系列值一在下面。
绘制堆积条形图(基础版)
绘制堆积条形图进阶版
1 import numpy 2 import matplotlib.pyplot as plot 3 4 data = numpy.array([[5., 30., 45., 22.], 5 [5., 25., 50., 20.], 6 [1., 2., 1., 1.]]) 7 8 color_list = ['b', 'g', 'r'] 9 10 X = numpy.arange(data.shape[1])11 for i in range(data.shape[0]):12S = numpy.sum(data[:i], axis = 0)13plot.bar(X, data[i], bottom = S, color = color_list[i % len(color_list)])14 15 plot.show()
上述代码:
#4 定义各项目组成系列值。
#8 定义项目各组成系列值条形图颜色。
#10 定义堆积条形图坐标 x 系列数值。
#12 计算各项目组成系列值之和,其中 numpy.sum( ) 函数调用格式如下:
sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue)
sum( ) 函数传递参数如下:
[1] a:矩阵源;
[2] axis:值为 0 时,压缩行,即将每一列的元素相加,将矩阵压缩为一行;值为 1 时,压缩列,即将每一行的元素相加,将矩阵压缩为一列。
示例代码:
a=[[0, 1], [0, 5]]
print(np.sum(a, axis=0))
print(np.sum(a, axis=1))
运行结果:
[0 6]
[1 5]
#13 绘制堆积条形图。
绘制堆积条形图(进阶版)
小结:
本文介绍了 Python 基于 matplotlib 绘制堆积条形图的基本操作方法。堆积条形图能够直观地表达各项目总和数值及其组成系列值的比重,对于此类数据的可视化有其独特的优势。
欢迎大家关注交流,一起学习、讨论!