使用numpy和matplotlib绘制公式为 y = cos(2Πx)exp(-x)的折线图。 要求:① 设置画布的大小和分辨率; ② 设置线条形状和颜色; ③ 添加x轴、y轴、标题等描述信息及图例; ④ 保存绘制的折线图为png格式; ⑤ 其他可以美化图片的辅助功能(可选)
时间: 2024-03-23 15:39:01 浏览: 46
[Matplotlib科学绘图系列]使用Matplotlib绘制折线图
好的,以下是绘制 y = cos(2Πx)exp(-x) 折线图的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成 x 和 y 的数据
x = np.linspace(0, 4, 100)
y = np.cos(2 * np.pi * x) * np.exp(-x)
# 设置画布的大小和分辨率
fig = plt.figure(figsize=(8, 6), dpi=80)
# 绘制折线图
plt.plot(x, y, color='blue', linestyle='-', linewidth=2)
# 设置坐标轴的范围
plt.xlim(0, 4)
plt.ylim(-1, 1)
# 添加x轴、y轴、标题等描述信息及图例
plt.xlabel('x')
plt.ylabel('y')
plt.title('y = cos(2Πx)exp(-x)')
plt.legend(['y = cos(2Πx)exp(-x)'])
# 保存绘制的折线图为png格式
plt.savefig('line_chart.png')
# 显示折线图
plt.show()
```
解释一下代码中的各个部分:
1. 使用 `np.linspace(0, 4, 100)` 生成 0 到 4 之间的 100 个数作为 x 的数据。
2. 使用 `np.cos(2 * np.pi * x) * np.exp(-x)` 计算 y 的数据。
3. 使用 `fig = plt.figure(figsize=(8, 6), dpi=80)` 设置画布的大小和分辨率。
4. 使用 `plt.plot(x, y, color='blue', linestyle='-', linewidth=2)` 绘制折线图,其中 `color` 参数设置线条的颜色,`linestyle` 参数设置线条的形状,`linewidth` 参数设置线条的宽度。
5. 使用 `plt.xlim(0, 4)` 和 `plt.ylim(-1, 1)` 设置坐标轴的范围。
6. 使用 `plt.xlabel('x')` 和 `plt.ylabel('y')` 添加 x 轴和 y 轴的标签。
7. 使用 `plt.title('y = cos(2Πx)exp(-x)')` 添加标题。
8. 使用 `plt.legend(['y = cos(2Πx)exp(-x)'])` 添加图例。
9. 使用 `plt.savefig('line_chart.png')` 保存绘制的折线图为 png 格式。
10. 使用 `plt.show()` 显示折线图。
如果你想要美化图片,可以尝试在代码中加入一些其他的函数,例如:
- `plt.grid(True)` 可以添加网格线;
- `plt.fill_between(x, y, 0, where=y>0, color='green', alpha=0.3)` 可以给图像填充颜色;
- `plt.text(x, y, 'text')` 可以在图像中添加文本等等。
希望这个回答能够帮到你!
阅读全文