Categories
データサイエンス

matplotlib.pyplotの'str' object is not callableエラー

謎のエラー ‘str’ object is not callable

Pythonでグラフを作成するときによく使うmatplotlib.pyplotですが、ある時、何気なくいつもどおりラベルを表示させようとしたら、‘str’ object is not callableという謎のエラーが出てました。

import matplotlib.pyplot as plt
# 中略
plt.xlabel('new label')

pyplot.xlabel(文字列)関数自体は存在するはずなのに、なぜこんなエラーが出るのか?

過去に別の呼び出し方をしていることが原因らしい

https://stackoverflow.com/questions/19442060/matplotlib-pyplot-titlestring-returns-errorhttps://stackoverflow.com/questions/50845106/matplotlib-ylabel-typeerror-str-object-is-not-callable を読むと、どうやら

plt.xlabel = 'old label'

というように、以前にすでにxlabelに文字列を挿入していたために、pyplot.xlabelが関数ではなく文字列とされてしまっていることが原因のようです。

改善策は再起動か「 Close and Halt 」

改善するには、1度終了させるしかないようなので、

  1. 保存
  2. 「File」→「Close and Halt」をクリック
  3. 再度ファイルを開く

の手順を行えばOKです。

ファイルを再度開いて実行すると、

import matplotlib.pyplot as plt
# 中略
plt.xlabel('new label')

結果がきちんと表示されました。

言われてみればなんてことない事ですが、いきなりこんなエラーが出たので焦りました。

]]>