a = np.array([3, 6, 9])
b = np.array([2, 7, 1])
c = np.array([0, 3, 1])
d = np.array([4, 0, 3])
p1 = plt.bar(ind, a, 1, color='#ff3333')
p2 = plt.bar(ind, b, 1, color='#33ff33', bottom=sum([a]))
p3 = plt.bar(ind, c, 1, color='#3333ff', bottom=sum([a, b]))
p4 = plt.bar(ind, d, 1, color='#33ffff', bottom=sum([a, b, c]))
Более эффективная гистограмма с накоплением matplotlib - как рассчитать нижние значения