import numpy as np import matplotlib.pyplot as plt # 生成横轴数据 x = np.linspace(0, 2, 100) # 绘制正弦曲线 # 生成不同幅度的纵轴数据 y = np.sin(2 * np.pi * x) y1 = 0.5 * np.sin(4 * np.pi * x) y2 = 0.25 * np.sin( 8* np.pi * x) y_new = y1 + y2 # 绘制图像 plt.plot(x, y, color='blue', linestyle='-', label='sin(x)') plt.plot(x, y_new, color='red', linestyle='--', label='0.5*sin(4x)+0.25*sin(8x)') # 绘制指数函数曲线 # 生成不同指数次幂的纵轴数据 y3 = np.exp(x) y4 = np.exp(-x) # 绘制图像 plt.plot(x, y3, color='orange', linestyle='-', label='exp(x)') plt.plot(x, y4, color='green', linestyle='--', label='exp(-x)') # 设置坐标轴范围及意义 plt.xlim(0, 2) plt.ylim(-2,3) ax.set_ylabel('Volts') ax.set_xlabel('Time') ax.set_title('Damped Oscillation') # 添加图例 plt.legend() # 显示图像 plt.show()优化代码显示纵轴和横轴注释显示标题
时间: 2023-12-03 08:05:42 浏览: 176
Matplotlib.pyplot 三维绘图的实现示例
您可以尝试以下代码,其中添加了注释和标题:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成横轴数据
x = np.linspace(0, 2, 100)
# 生成不同幅度的纵轴数据
y = np.sin(2 * np.pi * x)
y1 = 0.5 * np.sin(4 * np.pi * x)
y2 = 0.25 * np.sin( 8* np.pi * x)
y_new = y1 + y2
# 生成不同指数次幂的纵轴数据
y3 = np.exp(x)
y4 = np.exp(-x)
# 绘制图像
fig, ax = plt.subplots()
ax.plot(x, y, color='blue', linestyle='-', label='sin(x)')
ax.plot(x, y_new, color='red', linestyle='--', label='0.5*sin(4x)+0.25*sin(8x)')
ax.plot(x, y3, color='orange', linestyle='-', label='exp(x)')
ax.plot(x, y4, color='green', linestyle='--', label='exp(-x)')
# 设置坐标轴范围及意义
ax.set_xlim(0, 2)
ax.set_ylim(-2, 3)
ax.set_xlabel('Time')
ax.set_ylabel('Volts')
ax.set_title('Multiple Plots')
# 添加图例
ax.legend()
# 添加注释
ax.annotate('Damped Oscillation', xy=(0.8, 2.5), xytext=(1.2, 2.5), arrowprops=dict(facecolor='black', arrowstyle='->'))
# 显示图像
plt.show()
```
注意,这里使用了`fig, ax = plt.subplots()`来创建图像和坐标轴对象,而且注释使用了`ax.annotate()`函数。
阅读全文