4. 多子图\n\n1) 在一个 10×10 的画布中,制作 2 个子图,分别显示 sin(x) 和 cos(x)的图像\n2) 在 2 个子图中,显示 sin(x)和 cos(x)的图像\n3) 设置相同行和列共享 x,y 轴
时间: 2025-01-02 19:45:54 浏览: 10
4. 在图形绘制中,"多子图"通常指的是在一个大的绘图区域内创建多个独立的图表,每个图表称为一个子图。这种功能常见于像Matplotlib这样的数据可视化库,它允许你在一张大图上同时展示多个相关的统计结果或分析。
例如,在Python中,你可以使用Matplotlib库的`subplots()`函数来实现:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建一个10x10的画布,分割成2x5的小子图
fig, axs = plt.subplots(2, 5, figsize=(10, 5))
# 对于每个子图:
for ax in axs.flat:
# 定义x轴范围和步长
x = np.linspace(0, 2 * np.pi, 400)
# 分别绘制sin(x)和cos(x)
if ax.is_first_col(): # 如果这是第一列
ax.plot(x, np.sin(x), label='sin(x)')
else:
ax.plot(x, np.cos(x), label='cos(x)')
if ax.is_last_row(): # 如果这是最后一行
ax.set_xlabel('x')
if ax.is_first_col(): # 如果这是第一个子图
ax.set_ylabel('y', rotation=0, ha='right') # 标签旋转以避免遮挡x轴
ax.legend() # 显示图例
ax.tick_params(labelbottom=False, labelleft=False) # 隐藏默认的网格线和标签,仅保留必要的坐标轴
plt.tight_layout() # 自动调整子图之间的空间以防止重叠
plt.show()
```
在这个例子中,我们为每个子图设置了相同的x轴和y轴,以及各自对应的sin(x)和cos(x)曲线。每个子图都拥有独立的标题、坐标轴标签等。
阅读全文