Я дал несколько названий состояний с их общими открытыми и закрытыми жалобами, все три хранятся в списке.
Я хочу построить столбчатую диаграмму с накоплением, показывающую состояния на оси х, где столбец каждого состояния показывает открытые и закрытые жалобы в сложенном виде. Я сам пытался, но постоянно получаю сообщение об ошибке,
shape mismatch: objects cannot be broadcast to a single shape
Это код, который я использую
# plotting stack bar chart
indx = list(range(len(states)))
plt.figure(figsize=(12,8))
graph_state = plt.bar(x=indx, height=states, width=0.35)
graph_closed = plt.bar(x=indx, height=closed, width=0.35, bottom=states)
graph_opened = plt.bar(x=indx, height=opened, width = 0.35, bottom=closed+states)
plt.xlabel('States')
plt.ylabel('Complaints')
plt.show()
, а вот данные, которые я использовал
states = ['Maryland','Georgia','Michigan','California','NewMexico','Indiana','Virginia','Illinois','Pennsylvania','Massachusetts','Oregon','Texas','NewHampshire','Minnesota','Tennessee','Colorado','Florida','Alabama','Washington','NewYork','NewJersey','Maine','Missouri','WestVirginia','Montana','Mississippi','Connecticut','Vermont','Kentucky','SouthCarolina','Ohio','Utah','Delaware','Arkansas','Nevada','Louisiana','Kansas','Arizona','North Carolina','Rhode Island','District Of Columbia','District of Columbia','Iowa']
opened = [15,80,23,61,4,9,11,29,20,11,13,22,4,4,47,22,39,9,23,19,2,1,3,16,3,1,3,3,6,4,1,1,6,2]
closed = [63,208,92,159,11,50,49,135,110,50,36,49,8,29,96,58,201,17,75,6,56,3,3,8,1,23,9,2,4,15,3,16,8,6,1,12,1,14,3,1,14,1,1]