Python Jupyter中误赋值为字符串的matplotlib函数重置方法
解决Matplotlib中plt.ylabel和plt.title被覆盖后的重置问题
你误将plt.ylabel和plt.title直接赋值为字符串,覆盖了原本的函数对象,导致调用时出现TypeError: 'str' object is not callable错误。无需重启内核,可通过以下步骤重置这两个函数:
方法:从新导入的pyplot模块中恢复函数
直接重新导入matplotlib.pyplot到临时别名,再将原始函数赋值回被覆盖的属性:
import matplotlib.pyplot as _plt # 重置被覆盖的函数 plt.ylabel = _plt.ylabel plt.title = _plt.title
执行后,即可正常调用plt.ylabel("No. of Hospitals")和plt.title('Hospitals by State')。
关于重新导入为plt2无效的说明
你导入的plt2是一个全新的pyplot模块引用,其内部函数未被修改,因此plt2.ylabel()可以正常使用,但这不会修复已经被修改的plt模块属性。上述方法是直接将_plt中的原始函数覆盖回plt的对应属性,从而修复原引用的问题。
内容的提问来源于stack exchange,提问作者Python_Infant
相关产品推荐
相关产品推荐

