Matplotlib pyplot.title(string) 返回错误

问题描述 投票:0回答:13

当我调用

pyplot.title('some string')
时,它会抛出异常,
'str' object is not callable'
。 我从 matplotlib 在线文档复制了以下内容:

mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)

# the histogram of the data
n, bins, patches = plt.hist(x, 50, normed=1, facecolor='g', alpha=0.75)


plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])
plt.grid(True)
plt.show()

并得到

TypeError                                 Traceback (most recent call last)
<ipython-input-158-40fe7a831b06> in <module>()
      8 plt.xlabel('Smarts')
      9 plt.ylabel('Probability')
---> 10 plt.title('Histogram of IQ')
     11 plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
     12 plt.axis([40, 160, 0, 0.03])

TypeError: 'str' object is not callable

pyplot.suptitle()
工作正常

我在配备 I7 处理器 OSX 10.8 和 8 gig ram 以及 ipython 笔记本的 iMac 上使用 python 2.7.5 和最新版本的 matplotlib。

有谁知道这是怎么回事吗?

python matplotlib jupyter-notebook
13个回答
131
投票

这发生在我身上,因为我尝试做

plot.title = "Some string"
从而重写了
title()
方法。这就是发生这种情况的确切原因:)。 正如其他人所说,您只需要重新启动内核即可,无需重新安装。


30
投票

我也有同样的问题。代码很好,但在解释器中,我之前使用了不正确的 xlabel() 调用。 重新启动解释器(关闭并重新打开它)对我来说就足够了,不需要重新安装所有 python/matplotlib !


14
投票

当我之前不小心 plt.title = '' 时,就发生过这种情况

此后该函数就不再是函数了。 重启python内核或者重新导入plt库可以修复。

不重新安装。重新导入。


12
投票

尝试通过运行以下代码来重新加载 matplotlib:

import matplotlib.pyplot as plt
from importlib import reload
plt=reload(plt)

祝你好运


4
投票

我遇到了同样的问题,我写了

plt.title = "This is a sample plot"
而不是
plt.title("This is a sample plot")
。我收到错误:

typeerror“str”对象不可调用

重新启动 Spyder IDE 解决了我的问题。


4
投票

无需重新安装任何库。要解决这个问题,您只需重新启动 Jupyter 内核即可。当您设置 plt.title = 'something' 时会发生这种情况。它会覆盖 PyPlot 函数并使它们无法访问。重新启动内核将会帮助您。


2
投票

无需重新启动,我发现按照我的绘图方法更改为

.set_title()
方法已成功通过,没有错误。


2
投票
  1. 重新启动内核

  2.  plt.suptitle("title name") 
    
  3. import matplotlib.pyplot as plt
    from importlib import reload
    plt=reload(plt)
    

1
投票

有同样的问题 olben1,使用 ipython、anaconda 和 --pylab 标志。重新安装并成功了。 Fwiw,使用 anaconda env 使卸载/重新安装更容易..


1
投票

拆线后我也遇到同样的问题

%matplotlib inline

并且再次重新启动笔记本解决了我的问题。


0
投票

plt.title('xyz') :'str' 对象不可调用。

只需重新启动您的终端/IDE。这将解决问题。


0
投票

这些对我来说都不起作用。我已经卸载并重新安装,重新启动内核,使用上面的导入代码。仍然遇到同样的错误。


-1
投票

重启内核即可。有用。为我工作。

© www.soinside.com 2019 - 2024. All rights reserved.