簡體   English   中英

Matplotlib pyplot.title(string) 返回錯誤

[英]Matplotlib pyplot.title(string) returns error

當我調用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。

有誰知道發生了什么事?

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

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

我以前不小心 plt.title = '' 時發生過這種情況

之后那個函數就不再是函數了。 重新啟動python內核或重新導入plt庫可以解決它。

不是重新安裝。 重新進口。

無需重新安裝任何庫。 要解決此問題,您只需重新啟動 Jupyter 內核即可。 當您設置 plt.title = 'something' 時會發生這種情況。 它覆蓋了 PyPlot 函數並使它們無法訪問。 重新啟動內核將幫助您。

有同樣的問題 olben1,使用 ipython、anaconda 和 --pylab 標志。 重新安裝,它工作。 Fwiw,使用 anaconda env 使卸載/重新安裝更容易..

無需重新啟動,我發現按照我的繪圖方法更改為.set_title()方法已導致成功通過而沒有錯誤。

刪除線后我遇到了同樣的問題

%matplotlib inline

並再次重新啟動筆記本解決了我的問題。

  1. 重啟你的 kernel

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

我遇到了同樣的問題,我寫plt.title = "This is a sample plot"而不是plt.title("This is a sample plot") 我收到錯誤:

typeerror 'str' 對象不可調用

重新啟動 Spyder IDE 為我解決了這個問題。

plt.title('xyz') :'str' 對象不可調用。

只需重新啟動您的終端/ide。 這將解決問題。

嘗試通過運行以下代碼重新加載 matplotlib:

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

祝你好運

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM