Почему я получаю эту ошибку при использовании pylab для построения гистограммы

#python #matplotlib

Вопрос:

Я использую данные из файла для построения гистограммы с помощью pylab. Когда я запускаю его, я получаю очень длинный код ошибки.

Это мой код.

 bar_width=0.5 x_values=[1,2,3,4,5,6,7,8,9,10] y_values=[3,2,5,7,4,10,12] tlabel=["0-10", "11-20", "21-30", "31-40", "41-50", "51-60", "61-70", "71-80", "81-90", "Above 90"] #pylab.xticks(range(6),rotation=30) pylab.title("Homicide Occurance by Age") pylab.bar(x_values,y_values,width=bar_width,tick_label=tlabel, align='center',color='b') pylab.show()  

И вот сообщение об ошибке, которое я получаю.

 Traceback (most recent call last):  File "C:UsersmadsOneDriveDesktopCSC 130prog5.py", line 39, in lt;modulegt;  pylab.bar(x_values,y_values,width=bar_width,tick_label=tlabel, align='center',color='b')  File "C:Usersmadsanaconda3libsite-packagesmatplotlibpyplot.py", line 2487, in bar  return gca().bar(  File "C:Usersmadsanaconda3libsite-packagesmatplotlib__init__.py", line 1447, in inner  return func(ax, *map(sanitize_sequence, args), **kwargs)  File "C:Usersmadsanaconda3libsite-packagesmatplotlibaxes_axes.py", line 2430, in bar  x, height, width, y, linewidth = np.broadcast_arrays(  File "lt;__array_function__ internalsgt;", line 5, in broadcast_arrays  File "C:Usersmadsanaconda3libsite-packagesnumpylibstride_tricks.py", line 538, in broadcast_arrays  shape = _broadcast_shape(*args)  File "C:Usersmadsanaconda3libsite-packagesnumpylibstride_tricks.py", line 420, in _broadcast_shape  b = np.broadcast(*args[:32]) ValueError: shape mismatch: objects cannot be broadcast to a single shape   

Ответ №1:

у вас есть 10 значений x_, но только 7 значений y_. Попробуйте запустить тот же код со сбалансированными данными.