无法为饼图添加标题(matplotlib)

Hen*_*ood 1 python charts matplotlib

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

我正在尝试向饼图添加标题,但出现此错误:

---------------------------------------------------------------------------
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
Run Code Online (Sandbox Code Playgroud)

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

Imp*_*est 10

以下代码工作正常:

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()
Run Code Online (Sandbox Code Playgroud)

因此,您得到的错误是由您未在此处显示的部分代码产生的。我们现在只能猜测,但错误'str' object is not callable表明您已重新定义plt.title为字符串。例如,如果您在代码中的某处编写了类似的内容,则可能会发生这种情况

plt.title = 'Survival Rate'
Run Code Online (Sandbox Code Playgroud)

(这当然是不合理的)然后稍后调用(正确)

plt.title('Survival Rate') 会导致你得到的错误。