Matplotlib中的plt和ax画图的区别
有时候的们使用plt.plot(),有时候使用ax.plot(),这二者画图有区别吗
首先,来看看Matplotlib画图的具体构成:
如果将Matplotlib绘图和我们平常画画相类比,可以把figure想象成一张纸(一般被称之为画布),axes代表的则是纸中的一片区域
回到上面说的,plt.plot()和ax.plot()的区别:
import matplotlib.pyplot as plt import math import numpy as np x=np.arange(1,10) y=x**2 #plt.plot() plt.figure() plt.plot(x,y) plt.show() #ax.plot() fig,ax=plt.subplots() ax.plot(x,y) plt.show()
结果是一样的,区别在于:
(1)plt.plot()先生成一个figure画布,然后在这个画布上隐式生成的画图区域上画图
(2)ax.plot()同时生成了fig和ax对象,然后用ax对象在其区域上画图,推荐使用该方式