matplotlib绘制子图
1.倒库和制造数据
import numpy as np import pandas as pd import matplotlib.pyplot as plt x=np.linspace(-6,6,30) r=np.arange(-15,15) # print(len(r)) y=x**2 z=np.sign(x) p=np.sin(r) q=np.tan(r) # print(y)
2.设置画板
fig=plt.figure(figsize=(6,6))
3.子图绘制
fig.add_subplot(3,2,1)的三个参数为(行数,列数,第几个区域),
如这里的3行2列,共有3*2=6个区域,区域图如下
区域1 区域2
区域3 区域4
区域5 区域6
每块子图进行自己的绘图操作即可
ax11=fig.add_subplot(3,2,1) ax11.plot(x,y) ax12=fig.add_subplot(3,2,2) ax12.plot(x,z) ax21=fig.add_subplot(3,2,3) ax21.plot(r,p) ax22=fig.add_subplot(3,2,4) ax22.plot(r,q) ax31=fig.add_subplot(3,2,5) ax32=fig.add_subplot(3,2,6) ax31.plot(x,p) ax32.plot(x,q) plt.show()
结果图如图所示:
所有代码:
import numpy as np import pandas as pd import matplotlib.pyplot as plt x=np.linspace(-6,6,30) r=np.arange(-15,15) # print(len(r)) y=x**2 z=np.sign(x) p=np.sin(r) q=np.tan(r) # print(y) fig=plt.figure(figsize=(9,6)) ax11=fig.add_subplot(3,2,1) ax11.plot(x,y) ax12=fig.add_subplot(3,2,2) ax12.plot(x,z) ax21=fig.add_subplot(3,2,3) ax21.plot(r,p) ax22=fig.add_subplot(3,2,4) ax22.plot(r,q) ax31=fig.add_subplot(3,2,5) ax32=fig.add_subplot(3,2,6) ax31.plot(x,p) ax32.plot(x,q) plt.show()