小编Wol*_*oes的帖子

尝试制作条形图,bar() 缺少 1 个必需的位置参数:“高度”

我正在尝试制作条形图,我的代码是

data = np.genfromtxt("ca1_data/distance.csv",
               delimiter=',',skip_header=1,
               dtype=[('Year','i4'),('Mode','U50'),('Distance','U10')],
               missing_values=['na','-'],filling_values=[0])
years = np.arange(5)
scores = [(data[(data['Mode']=='MRT') & (data['Year']>=2010)]['Distance']), 
          (data[(data['Mode']=='Bus') & (data['Year']>=2010)]['Distance'])]
labels = np.arange(2010,2015)
print(scores)
fig = plt.figure(figsize=(20,10))
ax1 = fig.add_subplot(111)
ax1.set_xticklabels(labels, fontsize=10)
plt.title(title)
plt.xlabel('Years')
plt.ylabel('Distance')
bp_dict = plt.bar(scores,10,labels=labels)
plt.show()
Run Code Online (Sandbox Code Playgroud)

问题是我得到了错误

bar() missing 1 required positional argument: 'height'
Run Code Online (Sandbox Code Playgroud)

所以我手动添加了

bp_dict = plt.bar(scores,10,labels=labels)
Run Code Online (Sandbox Code Playgroud)

但是,我遇到了另一个错误

TypeError: unhashable type: 'numpy.ndarray'
Run Code Online (Sandbox Code Playgroud)

提前致谢!

更新:这就是分数的输出

[array(['10.3', '10', '9.6', '9.5', '9.2'], dtype='<U10'), array(['4.8', '4.5', '4.4', '4.3', '4.3'], dtype='<U10')]
Run Code Online (Sandbox Code Playgroud)

Update2:我更新了代码

scores = list(map(float, np.array(scores).flatten()))
Run Code Online (Sandbox Code Playgroud)

放置此后我收到新错误

AttributeError: Unknown property labels
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib

6
推荐指数
1
解决办法
4万
查看次数

标签 统计

matplotlib ×1

numpy ×1

python ×1