plt.subplot(221) plt.plot(x,y,color='r') 画4个子图,要求画出 y=x y=x2 y=cos(x) y=2x 4条基本函数曲线,曲线的的颜色和样式要不一致,4张图要有 标题(title)标签,标签为函数名(如第一张图的标签为'y=x')
时间: 2024-10-14 16:05:22 浏览: 26
python matplotlib在一张画布上画多个图的两种方法,plt.subplot(),plt.subplots()。
`plt.subplots()` 函数用于创建一个网格化的子图布局,而 `plt.subplot(221)` 在一个2行2列的网格中创建了第1个小图。接下来的代码将按照您的需求,在这4个小图上分别画出 `y=x`, `y=x^2`, `y=cos(x)` 和 `y=2x` 四种基本函数,并设置它们的颜色和样式各异,同时加上相应的标题和标签。
```python
import matplotlib.pyplot as plt
import numpy as np
# 定义x值范围
x = np.linspace(-np.pi, np.pi, 100)
# 创建一个2行2列的子图网格
fig, axs = plt.subplots(2, 2, figsize=(8, 6))
# 图形1: y=x (红色实线)
axs[0, 0].set_title('y=x')
axs[0, 0].plot(x, x, 'r-', label='y=x')
# 图形2: y=x^2 (蓝色虚线)
axs[0, 1].set_title('y=x^2')
axs[0, 1].plot(x, x**2, 'b--', label='y=x^2')
# 图形3: y=cos(x) (绿色点状线)
axs[1, 0].set_title('y=cos(x)')
axs[1, 0].plot(x, np.cos(x), 'g:', label='y=cos(x)')
# 图形4: y=2x (紫色双折线)
axs[1, 1].set_title('y=2x')
axs[1, 1].plot(x, 2*x, 'purple-.', label='y=2x')
# 添加图例
for ax in axs.flat:
ax.legend()
# 展示图形
plt.tight_layout() # 保持子图间合适的间距
plt.show()
阅读全文