Python. 多子图 1) 在一个 10×10 的画布中,制作 2 个子图,分别显示 sin(x) 和 cos(x)的图像 2) 在 2 个子图中,显示 sin(x)和 cos(x)的图像 3) 设置相同行和列共享 x,y 轴
时间: 2025-01-02 21:45:16 浏览: 19
在Python中,通常使用matplotlib库来创建和控制图形,包括生成多个子图。以下是一个示例,展示了如何在一个10x10的画布上创建两个子图,分别展示正弦函数sin(x)和余弦函数cos(x)的图像,并设置它们在同一行、同一列共享x轴和y轴:
```python
import numpy as np
import matplotlib.pyplot as plt
# 创建画布大小和子图布局
fig, axs = plt.subplots(1, 2, figsize=(10, 5), sharex=True, sharey=True)
axs = axs.flatten() # 将扁平化的子数组赋值给变量axs以便操作
# 定义x坐标范围
x = np.linspace(-np.pi, np.pi, 400)
# 对每个子图绘制函数
for ax, func in zip(axs, [np.sin, np.cos]):
ax.plot(x, func(x))
ax.set_title(func.__name__)
# 添加共享x轴和y轴标签
for ax in axs:
ax.tick_params(labelbottom=False, labelleft=False)
ax.set_xticks(np.arange(-np.pi, np.pi + np.pi / 2, np.pi / 2))
ax.set_xlabel('X')
ax.set_ylabel('Y')
plt.tight_layout() # 自动调整子图间距防止重叠
plt.show()
阅读全文