import pylab as pl
data = """AP 10
AA 20
AB 30
BB 40
BC 40
CC 30
CD 20
DD 10"""
grades = []
number = []
for line in data.split("/n"):
x, y = line.split()
grades.append(x)
number.append(int(y))
fig = pl.figure()
ax=fig.add_subplot(1,1,1)
ax.bar(grades,number)
p.show()
这是我的代码,我希望从数据中制作一个条形图。起初当我运行代码时,我在第17行遇到了缩进错误。在给所有for块添加空格后,我开始在第16行遇到“too many values to unpack”错误信息。由于我是Python的新手,不知道该如何继续操作。
matplotlib
:bar
函数(http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.bar)需要两个参数:- left:左侧的x坐标(我猜这些需要是浮点数而不是字符串)。 - right:条形图的高度。因此,您可能需要使用表示条形图宽度的列表作为第一个参数,而不是标签。要设置标签,您可能可以在matplotlib中使用xticks
函数- matplotlib-docs中有一个详细的示例。看看是否有帮助,或者再次提问 :) - BergmannF