请楼主先搞清楚Python和matplotlib(mpl)的主要两种编程范式:函数式编程和对象式编程,这里我不展开讲。通常的说,plt.XX之类的是函数式绘图,通过将数据参数传入plt类的静态方法中并调用方法,从而绘图。fig,ax=plt.subplots()是对象式编程,这里plt.subplots()是返回一个元组,包含了figure对象(控制总体图形大小)和axes对象(控制绘图,坐标之类的)。进行对象式绘图,首先是要通过plt.subplots()将figure类和axes类实例化也就是代码中的fig,ax,然后通过fig调整整体图片大小,通过ax绘制图形,设置坐标等等。
函数式绘图最大的好处就是直观(我不觉得简单),即使没多少基础,也能一眼看出来,但如果绘制稍微复杂的图像,或者过子图操作,就不如对象式绘图了。
回到楼主的代码,ax.set_title()是给ax这个子图设置标题,当子图存在多个的时候,可以通过ax
设置不同的标题
如果仅仅是调用plt.title()给多个子图上标题,就比较麻烦了
很明显,同样是绘制两个子图函数式方法就比对象式方法要麻烦很多。
如果只是绘制一个图片的话,plt.title()和ax.set_title()没什么区别,只是编程范式不同。
最后,我也看了楼主平时的提问,还是建议楼主先把Python的基础语法学扎实些,再细分到具体领域。像面向对象,函数式编程这些Python的基础语法都有的。
PS. 觉得回答可以就赏个币吧