Figure相当于一张白纸——可称做画布,Axes则是画布中的一块区域。一个Figure对象中可以包含一个或多个Axes对象,一个Axes对象中包含2个或3个Axis对象。每个Axes对象包含:一个title、一个x_label, 一个y_label对象。Axis,这才是真正的xy坐标轴
更完整的一个关系图如下:
参考自:(16条消息) python---之plt.subplot画图详解_zxyhhjs2017的博客-CSDN博客
两者都不需要事先创建figure,因为会默认建立自己的figure;原因如下:
一个"Figure"意味着用户交互的整个窗口。在这个figure中容纳着"subplots"。
当我们调用plot时,matplotlib会调用
gca()
获取当前的axes绘图区域,而且gca
反过来调用gcf()
来获得当前的figure。如果figure为空,它会自动调用figure()
生成一个figure, 严格的讲,是生成subplots(111)
。
参考自: (16条消息) python---之plt.subplot画图详解_zxyhhjs2017的博客-CSDN博客
subplot可以规划figure划分为n个子图,但每条subplot命令只会创建一个子图:
如下,它需要一个个的创建子图:
而subplots会一次性把所有子图建立完全:
参考自:(16条消息) plt.figure、plt.subplot、plt.subplots、add_subplots、add_axes详解_金小虾的博客-CSDN博客
参考自:(16条消息) plt.plot 、plt.subplot、plt.subplots区别_当交通遇上机器学习的博客-CSDN博客
我们首先来说plt.plot的绘图规则,它是获取当前活跃的的axes然后在上面作图;
plt.gca就是用来获得当前活跃的的axes;plt.gcf则是用来获得当前活跃的figure;
举个例子:参考自:plt.gca() 和 plt.gcf() ///axes和pyplot绘图的区别 - lililili—— - 博客园 (cnblogs.com)