我一般对Python和编程都不熟悉,所以如果我遗漏了一些明显的东西,请提前道歉。我正在尝试绘制图形并标记轴,但是每次尝试标记y轴时都会引发异常。我在下面的新脚本中编写了代码,以确保问题不是来自模块中的其他地方。我正在使用Python 3.4。

from numpy import *
from matplotlib import *

a = [1, 2, 3, 4, 5]
b = [2, 3, 2, 3, 2]
pyplot.plot(a, b)
pylab.xlabel("Time")
pylab.ylabel("Speed")

每次,我在最后一行收到错误“TypeError:'str'对象不可调用”。如果我将y更改为x,一切都很好。如果将x更改为y,则会收到相同的错误。但是,ylabel出现在ylabel的下拉列表中,因此该函数确实存在,并且文档说,字符串是唯一必需的参数,与xlabel(matplotlib.pyplot.ylabel(s,* args,** kwargs)和matplotlib.pyplot.xlabel(s,* args,** kwargs))。这到底是怎么回事?

最佳答案

在iPython Notebook中工作时,我遇到了同样的问题。

我认为可以重新创建如下:

import matplotlib.pyplot as plt
plt.ylabel = 'somestring' # oh wait this isn't the right syntax.
...
plt.ylabel('somestring') # now this breaks because the function has been turned into a string

重新启动内核或重新导入库会将plt.ylabel恢复为功能。

08-20 04:05