python 两个subplots在同一张图显示
时间: 2024-09-09 15:01:07 浏览: 53
在Python中,使用matplotlib库可以很容易地在同一张图上创建多个子图(subplots)。下面是一个基本的示例代码,展示如何创建包含两个子图的图形:
```python
import matplotlib.pyplot as plt
# 创建一个图形窗口,并指定包含两个子图
fig, axs = plt.subplots(1, 2) # 1行2列
# 在第一个子图上绘制数据
axs[0].plot([1, 2, 3], [1, 4, 9])
axs[0].set_title('第一个子图')
# 在第二个子图上绘制数据
axs[1].plot([1, 2, 3], [3, 2, 1])
axs[1].set_title('第二个子图')
# 可选: 显示图形
plt.show()
```
在这段代码中:
- `plt.subplots(1, 2)` 创建了一个包含一行两列的子图布局。返回值 `fig` 是整个图形对象,`axs` 是一个包含子图对象的数组。
- `axs[0]` 和 `axs[1]` 分别是第一个和第二个子图对象,你可以对它们使用各种绘图命令,比如 `plot` 或 `scatter`。
- 使用 `set_title` 方法为每个子图设置标题。
相关问题
在同一张图中分别绘制两张散点子图python
在 Python 中,使用 Matplotlib 库可以在同一张图中分别绘制两张散点图。以下是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一些随机数据
x1 = np.random.rand(50)
y1 = np.random.rand(50)
x2 = np.random.rand(50)
y2 = np.random.rand(50)
# 创建画布,并分割成 1 行 2 列的子图
fig, ax = plt.subplots(1, 2)
# 在第一个子图中绘制散点图
ax[0].scatter(x1, y1, color='red')
ax[0].set_title('Group 1')
# 在第二个子图中绘制散点图
ax[1].scatter(x2, y2, color='blue')
ax[1].set_title('Group 2')
# 显示图形
plt.show()
```
这段代码生成了两组随机数据,并使用 `plt.subplots()` 函数创建了一个包含 1 行 2 列的画布。接着,在第一个子图中使用 `ax[0].scatter()` 函数绘制了一个散点图,并使用 `ax[0].set_title()` 函数添加了一个标题。在第二个子图中也使用类似的方式绘制了另一个散点图。最后使用 `plt.show()` 函数显示了图形。运行代码后会生成一个包含两个散点图的图形。
请用python程序在同一张图中创建两个子图,分别画出sinx和cosx在[-pi,]上的函数图像。设置线条宽度为3.5
在Python中,我们可以使用matplotlib库来创建子图并绘制函数图像。以下是一个示例程序,它会在一张图上创建两个子图,分别显示sin(x)和cos(x)在`[-π, π]`范围内的图形,并设置线条宽度为3.5:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义x值范围
x = np.linspace(-np.pi, np.pi, 400)
# 函数定义
def sin_cos_graphs():
fig, axs = plt.subplots(2, 1, figsize=(6, 8), sharex=True)
# 创建第一个子图(y=sinx)
axs[0].plot(x, np.sin(x), linewidth=3.5, label='sin(x)')
axs[0].set_ylabel('sin(x)')
axs[0].legend()
# 创建第二个子图(y=cosx)
axs[1].plot(x, np.cos(x), linewidth=3.5, label='cos(x)')
axs[1].set_ylabel('cos(x)')
axs[1].set_xlabel('x')
axs[1].legend()
# 调整间距
fig.tight_layout()
return fig, axs
fig, axs = sin_cos_graphs()
plt.show()
```
在这个例子中,我们首先导入必要的库,然后创建一个包含两个子图的图表,并设置了共享x轴。接着,我们在每个子图上绘制了相应的函数,设置了线条宽度为3.5,还添加了标签和图例。最后展示了整个图形。
阅读全文