Python中出现NameError:suptitle未定义的问题求助
解决
NameError: name 'suptitle' is not defined 问题 这个报错的核心原因很明确:你直接调用了suptitle(),但这个函数并没有被导入到当前的Python命名空间里,所以Python找不到它。下面给你几种可行的解决办法:
方法1:正确导入pylab的全部内容
如果你习惯用pylab,确保你是这样导入的:
from pylab import *
这样会把pylab里的所有函数(包括suptitle)都导入到全局命名空间,之后你就可以直接用suptitle('image #{}'.format(num), fontsize=20)了。
方法2:通过pylab模块调用
如果你只是导入了pylab而没有用*,那需要明确指定模块:
import pylab pylab.suptitle('image #{}'.format(num), fontsize=20)
方法3:更推荐的matplotlib.pyplot用法
现在更推荐直接使用matplotlib的pyplot模块,代码逻辑会更清晰:
import matplotlib.pyplot as plt # 方式一:直接调用plt的suptitle函数 plt.suptitle('image #{}'.format(num), fontsize=20) # 方式二:先创建figure对象,再调用其suptitle方法 fig = plt.figure() fig.suptitle('image #{}'.format(num), fontsize=20)
简单总结:suptitle是matplotlib提供的函数/方法,必须通过对应的模块(pylab或pyplot)或者figure对象来调用,不能直接裸写调用哦。
内容的提问来源于stack exchange,提问作者hunter




