matplotlib绘制子图
matplotlib绘制子图的两种方式:
1.使用面向对象的api:
add_subplot添加一个绘制一个,suplots画之前已经知道要画多少个
# oop方式
fig = plt.figure()
# type(fig)
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
ax4 = fig.add_subplot(2,2,4)
ax1.set_title('first')
# oop suplots
fig = plt.figure()
axes = fig.subplots(2,3)
# axes[0][0].set_title('first')
# axes[0][2].set_title('third')
axes[0,0].set_title('first')
axes[0,2].set_title('third') # 与axes[0][2]效果一样
2.使用pyplot的api:
直接调用subplot和subplots函数
# pyplot api
ax1 = plt.subplot(2,2,1)
ax2 = plt.subplot(2,2,2)
ax3 = plt.subplot(2,2,3)
ax4 = plt.subplot(2,2,4)
ax1.set_title('first')
plt.title('test') # plt.title()默认加到生成的最新的子图上
# pyplot api subplots
fig,axes = plt.subplots(2,3)
axes[0,0].set_title('first')
axes[1,2].set_title('last')
x = [1,2,3,4,5]
y = [x**2 for x in x]
axes[1,2].plot(x,y)
plt.show()