Я использую matplotlib для построения графика из словаря со строками и целыми числами, когда я строю график с его начальными значениями, он работает, но если я добавлю еще один ключ в словарь
скажем, например,
ADD,example,example.com,20.0
выдает следующую ошибку, когда я снова строю график
"ValueError: shape mismatch: objects cannot be broadcast to a single shape"
но эта проблема возникает только с этим графиком, всякий раз, когда я использую круговую диаграмму, я могу добавить элементы в словарь и успешно построить график снова.
Может ли кто-то с большим опытом, чем я, показать мне, что я делаю неправильно?
вот соответствующая часть моего кода для этой проблемы
Спасибо за ваше время.
import numpy as np
import matplotlib.pyplot as plt
empresas = { "Prodsmart": ["prodsmart.com",1.5],"James": ["james.finance",3.9],
"Talkdesk": ["talkdesk.com",24.5], "Codacy": ["codacy.com",6.7],
"Veniam": ["veniam.com", 26.9], "Sensei": ["sensei.tech",0.5]}
def add_empresa(info):
empresas[info[0]] = [info[1],float(info[2])]
nlist = []
for x, k in empresas.items():
nlist.append(k[1])
def graph1():
group_data = nlist
group_names = list(empresas.keys())
fig, ax = plt.subplots()
ax.barh(group_names, group_data)
plt.show()
return
inputs = ""
while inputs != "EXIT":
inputs = input("insert a command:" )
inputzs = inputs.split(",")
if inputzs[0] == "ADD" and len(inputzs) == 4:
add_empresa(inputzs[1:])
elif inputzs[0] == "PLOT":
graph1()