"""
需求:绘制一个包含正弦曲线和余弦曲线的图表,具体要求如下:
(1) 正弦曲线的样式:红色、线宽为1.0;
(2) 余弦曲线的样式:蓝色、线宽为1.0,透明度为0.5;
(3) x轴的刻度标签为“-π”、 “-π/2”、 “0”、 “π/2”、 “-π”;
(4) 在x=1、y=np.cos(1)的位置添加指向型注释文本;
(5) 为正弦曲线和余弦曲线封闭起来的区域填充绿色,透明度为0.25.
最终的效果见运行结果图示。
"""
import numpy as np
import matplotlib.pyplot as plt
# 1.准备数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y_cos, y_sin = np.cos(x), np.sin(x)
# 2.绘制折线
# 正弦曲线的样式:红色、线宽为1.0
# 余弦曲线的样式:蓝色、线宽为1.0,透明度为0.5
plt.plot(x,y_cos,color='b',linewidth=1)
plt.plot(x,y_sin,color='r',linewidth=1,alpha=0.5)
# 3.图表辅助元素定制(图表标题,刻度标签,图例,网格,指向型注释文本)
plt.title("Cos & Sin")
#添加x轴的刻度标签
# plt.xticks([提供数据],[转化成pi]):
plt.xlim(x.min()*1,x.max()*1)
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],
[r'$-\pi$',r'$-\pi2$',r'$0$',r'$\pi/2$',r'$\pi$'])
#添加y轴的刻度标签
plt.yticks([-1.00,-0.5,0.00,0.5,1])
#添加图例
plt.legend(['COS','SIN'],shadow=True,fancybox=True,loc='upper left')
plt.grid()
plt.annotate("cos(1)",xy=(np.pi /3,0.5),xytext=((np.pi/2.5),0.8),arrowprops=dict(arrowstyle="-|>"))
# 4.图表样式美化(填充颜色)
plt.fill_between(x,y_cos,y_sin,y_sin<y_cos,color='g',alpha=0.25)
plt.show()
运行效果图如下: