学习目标:
绘制一个包含正弦曲线和余弦曲线的图表,具体要求如下:
(1) 正弦曲线的样式:红色、线宽为1.0;
(2) 余弦曲线的样式:蓝色、线宽为1.0,透明度为0.5;
(3) x轴的刻度标签为“-π”、 “-π/2”、 “0”、 “π/2”、 “-π”;
(4) 在x=1、y=np.cos(1)的位置添加指向型注释文本;
(5) 为正弦曲线和余弦曲线封闭起来的区域填充绿色,透明度为0.25.
绘制所需函数:
函数 | 用处 |
---|---|
plt.plot | 绘制折线图 |
plt.title | 绘制图表标题 |
plt.xticks | 绘制x轴的刻度标签 |
plt.yticks | 绘制y轴的刻度标签 |
plt.legend | 绘制图例 |
plt.grid | 绘制网格 |
plt.annotate | 绘制指向型注释文本 |
plt.fill_between | 图表样式美化(填充颜色) |
代码如下:
# 导入模块
import numpy as np
import matplotlib.pyplot as plt
# 显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 准备数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y_cos, y_sin = np.cos(x), np.sin(x)
# 绘制折线图
plt.plot(x, y_cos, color='blue', lw=1.0, alpha=0.5)
plt.plot(x, y_sin, color='red', lw=1.0)
# 绘制标签(标签名为:Cos & Sin)
plt.title('Cos & Sin', loc='center')
# 绘制刻度标签()
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$'])
plt.yticks([-1.0, -0.5, 0, 0.5, 1])
#绘制图例和网格
plt.legend(['余弦','正弦'])
plt.grid(visible=True, lw=0.3)
#添加指向性注释标签(xy是坐标位置,xytext是放置文本的位置,arrowprops是样式)
plt.annotate("在这里", xy=(1, np.cos(1)), xytext=(1.0, 0.7), arrowprops=dict(arrowstyle='->'))
# 4.图表样式美化(填充颜色)
plt.fill_between(x, y_cos, y_sin, y_cos > y_sin, facecolor='green', alpha=0.25)
plt.show()