Мне нужна помощь в создании набора штабелированных графиков в python с помощью matlibplot. Мой базовый код ниже, но мои проблемы в том, как сгенерировать значение bottom для любого элемента за 2-й эффективный . Я могу получить примерный граф для правильного стека (всегда 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()
Мой последний код может иметь очень большое количество баров, а постоянно расширяющаяся функция bottom = [...] не может быть лучшим решением. Было бы здорово, если бы вы также могли объяснить, как мне нужно получить ценность. Есть функция numpy.
Большое спасибо!!! PS Я искал ответ, но я не понимал, что я могу найти.