我需要一些帮助,使用matlibplot在python中制作一组堆积的条形图.我的基本代码如下,但我的问题是如何产生的价值底部超越二号一个任何元素有效.我可以让示例图正确堆叠(总是a,b,c,d从下到上)
import numpy as np
import matplotlib.pyplot as plt
ind = np.arange(3)
a = [3,6,9]
b = [2,7,1]
c = [0,3,1]
d = [4,0,3]
p1 = plt.bar(ind, a, 1, color='#ff3333')
p2 = plt.bar(ind, b, 1, color='#33ff33', bottom=a)
p3 = plt.bar(ind, c, 1, color='#3333ff', bottom=[a[j] +b[j] for j in range(len(a))])
p4 = plt.bar(ind, d, 1, color='#33ffff', bottom=[a[j] +b[j] +c[j] for j in range(len(a))])
plt.show()
Run Code Online (Sandbox Code Playgroud)
我的最终代码可能有非常多的条形和不断扩展的函数bottom = [...]不能是最好的解决方案.如果您还可以解释我需要如何获得该值,那将会很棒.有一个numpy功能.
非常感谢你!!!PS我找了答案,但我不明白我能找到什么.