matplotlib axes labels报错,如何解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (108)

如果我遗漏了一些显而易见的东西。我试图绘制一个图形并给这些轴贴上标签,但是每次我试图给y轴贴上标签时,都会引发异常。我用一个新脚本编写了下面的代码,以确保问题不是来自模块中的其他地方。我正在使用Python3.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' object is not callable'。如果我把y改为x,一切都很好。如果我把x改为y,我会得到同样的错误。

提问于
用户回答回答于

下面的代码运行时没有出错,并显示了带有正确标签的绘图。

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

如果这对您不起作用,也许您可以尝试使用图形和轴对象,如下所示

from matplotlib.pyplot import subplots, show
a = [1, 2, 3, 4, 5]
b = [2, 3, 2, 3, 2]
fig, ax = subplots()
ax.plot(a, b)
ax.set_xlabel("Time")
ax.set_ylabel("Speed")
show()
用户回答回答于

在IPython笔记本上工作时,我也遇到了同样的问题。

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

from 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还原为函数。

扫码关注云+社区