matplotlib绘制多张子图
时间: 2023-10-10 12:05:04 浏览: 75
使用matplotlib库可以方便地绘制多张子图。可以使用plt.subplots函数创建一个包含多个子图的图形对象,然后使用这些子图对象进行绘制。下面是两个示例代码:
示例一:
```
import matplotlib.pyplot as plt
fig, ax = plt.subplots(nrows=2, ncols=2, figsize=(10, 10))
ax = ax.ravel(order='C')
# 在每个子图对象上绘制图像
for i in range(figure_num):
ax[i].imshow(mpimg.imread(img[i]))
ax[i].set_title(labels[i], fontsize=40)
ax[i].set_xticks([])
ax[i].set_yticks([])
plt.tight_layout()
plt.savefig('C:Users\Administrator\Desktop\Figure_2')
plt.show()
```
示例二:
```
import matplotlib.pyplot as plt
figure, ax = plt.subplots(nrows=2, ncols=2, figsize=(10, 10))
# 在每个子图对象上绘制图像
ax
相关问题
matplotlib 怎么画多张
Matplotlib 可以使用 subplot() 函数来实现在一张图中绘制多张子图,也可以使用 figure() 函数创建多个图形窗口进行绘制。下面分别介绍两种方法的实现。
1. subplot() 函数
subplot() 函数的语法为:
```python
subplot(nrows, ncols, index, **kwargs)
```
其中,nrows 和 ncols 分别表示绘制的子图的行数和列数,index 表示当前子图的编号,从左上角开始,按行优先顺序编号。kwargs 表示其他可选参数,例如图形标题、坐标轴标签等。
下面是使用 subplot() 函数绘制多张子图的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 绘制多张子图
plt.subplot(2, 1, 1)
plt.plot(x, y1)
plt.title('Sin Function')
plt.subplot(2, 1, 2)
plt.plot(x, y2)
plt.title('Cos Function')
plt.show()
```
运行上述代码即可绘制出两张子图,第一张为正弦函数,第二张为余弦函数。
2. figure() 函数
figure() 函数可以创建多个图形窗口,每个窗口可以绘制一张图。figure() 函数的语法为:
```python
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, clear=False, **kwargs)
```
其中,num 表示窗口编号,figsize 表示窗口的大小,dpi 表示窗口的分辨率,facecolor 和 edgecolor 分别表示窗口的前景色和边框颜色,frameon 表示是否显示窗口边框,FigureClass 表示窗口的类型,clear 表示是否清空窗口。kwargs 表示其他可选参数,例如图形标题、坐标轴标签等。
下面是使用 figure() 函数创建多个图形窗口进行绘制的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建多个图形窗口并绘制图形
plt.figure(1)
plt.plot(x, y1)
plt.title('Sin Function')
plt.figure(2)
plt.plot(x, y2)
plt.title('Cos Function')
plt.show()
```
运行上述代码即可创建两个图形窗口,分别绘制出正弦函数和余弦函数。
matpoltlib三张子图
当使用Matplotlib库创建三张子图时,你可以使用subplot函数来实现。下面是一个示例代码,展示了如何创建三张子图并绘制数据:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
# 创建子图
fig, axs = plt.subplots(3) # 创建3行1列的子图布局
# 绘制第一个子图
axs[0].plot(x, y1)
axs[0].set_title('Sin')
# 绘制第二个子图
axs[1].plot(x, y2)
axs[1].set_title('Cos')
# 绘制第三个子图
axs[2].plot(x, y3)
axs[2].set_title('Tan')
# 调整子图之间的间距
plt.tight_layout()
# 显示图形
plt.show()
```
这段代码会创建一个包含三张子图的图形,每张子图分别绘制了不同的函数曲线。你可以根据需要调整子图的数量、布局和绘制的数据。