2013-10-18 181 views
10

當我打電話給pyplot.title('some string')時,它拋出異常'str' object is not callable'。 我複製從matplotlib在線文檔如下:Matplotlib pyplot.title(string)返回錯誤

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()工程確定

我使用python 2.7.5和matplotlib上的最新版本帶有I7處理器的iMac OSX 10.8和8 gig ram和ipython筆記本。

有誰知道發生了什麼事?

+1

它適用於我在OSX 10.8.5與Python 2.7.5和matplotlib 1.3.0。你是如何安裝ipython和matplotlib的?上面的代碼是你所喚起的唯一代碼嗎?你運行'ipython notebook --pylab'還是你如何初始化它? –

+1

我也不能重新制作這個。你的代碼中有一個'plt.title ='blah''嗎? – tacaswell

+0

我重新安裝了matplotlib(pip卸載,然後pip安裝),一切正常。在此之前?plt.title告訴我,plt.title是一個字符串。現在它確認plt.title是一個函數。我不確定我是否完全放棄了它,但它正在工作。多謝你們。 – olben1

回答

1

有同樣的問題olben1,使用ipython,anaconda和--pylab標誌。重新安裝並運行。 Fwiw,使用anaconda env使得卸載/重新安裝變得更容易..

16

我有同樣的問題。代碼很好,但在解釋器中,我曾經使用過不正確的xlabel()調用。 重新啓動解釋器(關閉並重新打開它)對我來說已經足夠了,不需要重新安裝所有的python/matplotlib!

+0

工作就像一個魅力! – dasdachs

+0

同樣的問題 - 我在Jupyter工作,一旦我重新啓動內核,我就全部設置好了。 – nanselm2

11

它發生在我身上,因爲我試圖做plot.title = "Some string"以便重寫title()方法。這就是它發生的確切原因:)。 正如其他人所說,你只需要重新啓動內核,無需重新安裝。

+1

這應該是這裏被接受的答案......重寫「標題」是探究的根本原因 – Kickaha