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()
View Code

 

posted @ 2023-09-04 11:15  一眉师傅  阅读(51)  评论(0编辑  收藏  举报