无法将标题添加到饼图(matplotlib)

时间:2017-04-07 10:37:24

标签: python matplotlib charts

plt.title('Survival Rate')
plt.pie(total_survival, labels=[str(survival_percent) + "% " + "survived", str(100- survival_percent) + "% " + "died"])

我正在尝试为饼图添加标题,但我收到此错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-250-7e0f3cd8c625> in <module>()
----> 1 plt.title('Survival Rate')
  2 plt.pie(total_survival, labels=[str(survival_percent) + "% " + "survived", str(100- survival_percent) + "% " + "died"])
  3 

TypeError: 'str' object is not callable

我在网上看到的所有资源都将其标题写成括号内的字符串,并且不将其作为参数包含在plt.pie()中,所以我不确定我哪里出错。

2 个答案:

答案 0 :(得分:3)

以下代码可以正常使用:

import matplotlib.pyplot as plt
survival_percent = 67
total_survival = [67,33]
plt.title('Survival Rate')
plt.pie(total_survival, labels=[str(survival_percent) + "% " + "survived", str(100- survival_percent) + "% " + "died"])

plt.show()

因此,您获得的错误是由您未在此处显示的部分代码产生的。 我们现在只能猜测,但错误'str' object is not callable表明您已将plt.title重新定义为字符串。 例如,如果你的代码中的某个地方写了类似

的内容,就会发生这种情况
plt.title = 'Survival Rate'

(这当然不合理)然后再打电话(正确)

plt.title('Survival Rate')会导致错误。

答案 1 :(得分:3)

我得到了同样的错误。您要做的是重新启动内核(如果您在Jupiter笔记本中运行它)并再次运行您的代码。它应该解决它。