利用NumPy、MatPlotLib库绘图,要求画布像素1200*900,子图布局为3行2列,各子图添加标题(内容为子图类型及姓名,如“张三折线图”),添加x、y轴名称,及图例,题中n为学号后两位。文件名为:完整学号_姓名_3_4.py。 (1)子图1为折线图,绘制y=sin(x), y=cos(x)两个函数的图像,x取值范围[-n*PI, n*PI],前者线条为红色短虚线,后者为绿色点线。
时间: 2024-03-21 11:41:20 浏览: 149
好的,以下是代码实现:
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置画布像素1200*900
plt.figure(figsize=(12, 9))
# 子图布局为3行2列,各子图添加标题、x、y轴名称,及图例
plt.subplot(321)
plt.title("折线图_张三")
plt.xlabel("x")
plt.ylabel("y")
plt.xlim(-np.pi*2, np.pi*2)
plt.ylim(-1.2, 1.2)
x = np.linspace(-np.pi*2, np.pi*2, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, color='r', linestyle='--', label='y=sin(x)')
plt.plot(x, y2, color='g', linestyle=':', label='y=cos(x)')
plt.legend(loc='upper left')
# 保存图片
plt.savefig('完整学号_姓名_3_4.py')
```
注意,这里我使用了 `np.linspace` 函数来生成 `x` 值,使得 `y=sin(x)` 和 `y=cos(x)` 在同一张图上展示,并且它们的 `x` 取值范围相同。同时,为了使得图像更加美观,我设置了 `x` 和 `y` 轴的刻度范围,并且给每个子图添加了标题、轴名称和图例。
阅读全文