#需求:绘制一个包含正弦曲线和余弦曲线的图表,具体要求如下:
#(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.绘制折线
plt.plot(x,y_cos,color='blue',lw=1.0,alpha=0.5)
plt.plot(x,y_sin,color='red',lw=1.0)
# 3.图表辅助元素定制(图表标题,刻度标签,图例,网格,指向型注释文本)
#设置图表的标题
plt.title('Cos & Sin')
#设置x轴和y轴的刻度标签
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.0],[r'$-1$',r'$-0.5$',r'$0$',r'$0.5$',r'$1.0$'])
#设置图例在左上角
plt.legend(['COS','SIN'],loc = 'upper left')
#设置网格(b表示是否显示网格,axis表示显示哪个方向的网格)
plt.grid(b=True,axis='both')
#设置指向型注释文本,cos(1)表示注释的内容,xy表示被注释的点位置,xytext表示注释文本的位置,arrowprops表示指向箭头类型
plt.annotate('cos(1)',xy=(1,np.cos(1)),xytext=(1.2,0.75),arrowprops={'arrowstyle':'->'},)
# 4.图表样式美化(填充颜色)
plt.fill_between(x,y_cos,y_sin,y_cos > y_sin,color='green',alpha=0.25)
plt.show()
运行结果如下所示: