matplotlib怎样显示多个画布
时间: 2023-07-12 19:46:57 浏览: 59
要显示多个画布,可以使用matplotlib的子图(subplot)功能。可以使用subplot函数指定每个子图的位置和大小,然后在每个子图中绘制所需的图形。
以下是一个简单的示例,显示两个子图:
```
import matplotlib.pyplot as plt
# 创建第一个子图
plt.subplot(2, 1, 1) # 2行1列,第一个子图
plt.plot([1, 2, 3], [4, 5, 6])
plt.title('Subplot 1')
# 创建第二个子图
plt.subplot(2, 1, 2) # 2行1列,第二个子图
plt.plot([1, 2, 3], [7, 8, 9])
plt.title('Subplot 2')
# 显示画布
plt.show()
```
这个例子中,使用subplot函数创建了一个2行1列的子图布局。然后在第一个子图中绘制了一条线,并设置了标题“Subplot 1”。接着在第二个子图中绘制了另一条线,并设置了标题“Subplot 2”。最后使用show函数显示画布。
相关问题
matplotlib怎样同时显示多个画布中的子图
要同时显示多个画布中的子图,可以使用matplotlib的figure对象。可以使用figure函数创建一个新的画布,并使用add_subplot函数添加子图。
以下是一个简单的示例,显示两个画布,每个画布中有两个子图:
```
import matplotlib.pyplot as plt
# 创建第一个画布
fig1 = plt.figure()
# 添加第一个子图
ax1 = fig1.add_subplot(2, 1, 1)
ax1.plot([1, 2, 3], [4, 5, 6])
ax1.set_title('Subplot 1 of Figure 1')
# 添加第二个子图
ax2 = fig1.add_subplot(2, 1, 2)
ax2.plot([1, 2, 3], [7, 8, 9])
ax2.set_title('Subplot 2 of Figure 1')
# 创建第二个画布
fig2 = plt.figure()
# 添加第一个子图
ax3 = fig2.add_subplot(2, 1, 1)
ax3.plot([1, 2, 3], [10, 11, 12])
ax3.set_title('Subplot 1 of Figure 2')
# 添加第二个子图
ax4 = fig2.add_subplot(2, 1, 2)
ax4.plot([1, 2, 3], [13, 14, 15])
ax4.set_title('Subplot 2 of Figure 2')
# 显示画布
plt.show()
```
这个例子中,首先使用figure函数创建了两个新的画布(fig1和fig2)。然后使用add_subplot函数向每个画布中添加两个子图。在每个子图中绘制了一条线,并设置了子图的标题。最后使用show函数显示画布。
用matplotlib在同一画布绘制多个线
可以使用`plt.plot()`函数来在同一个画布上绘制多条线。以下是一个简单的例子:
```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)
# 绘制三条线
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.plot(x, y3, label='tan(x)')
# 添加图例和标签
plt.legend()
plt.xlabel('x')
plt.ylabel('y')
plt.title('Multiple Lines')
# 显示图形
plt.show()
```
在这个例子中,我们使用`np.linspace()`函数生成一个包含100个点的等间距数组`x`,并分别计算出三个数组`y1`、`y2`和`y3`,分别代表三条线的y值。然后,我们用`plt.plot()`函数绘制这三条线,并在`label`参数中指定每条线的标签。最后,我们使用`plt.legend()`函数添加图例,并使用`plt.xlabel()`和`plt.ylabel()`函数添加x轴和y轴标签,使用`plt.title()`函数添加标题。最后,我们使用`plt.show()`函数显示图形。