import numpy as np
def main():
# print("hello")
# line
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
# print(x)
c, s = np.cos(x), np.sin(x)
plt.figure(1) # 绘制第一个图
plt.plot(x, c, color="blue", linewidth=1.0, linestyle='-', label="COS", alpha=0.5) # 绘制cos
plt.plot(x, s, color="red", linewidth=1.0, linestyle='--', label="SIN", alpha=0.5) # 绘制sin
plt.title("cos & sin") # 添加标题
ax = plt.gca() # 轴的编辑器
ax.spines["right"].set_color("none")
ax.spines["top"].set_color("none")
ax.spines["left"].set_position(("data", 0))
ax.spines["bottom"].set_position(("data", 0))
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
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(np.linspace(-1,1,5,endpoint=True))
for label in ax.get_xticklabels()+ ax.get_yticklabels():
label.set_fontsize(16)
label.set_bbox(dict(facecolor='white', edgecolor='None'
,alpha=0.2))
plt.legend(loc='upper left')
plt.grid()
# plt.axis([-1,1,-0.5,1])
plt.fill_between(x,np.abs(x)<0.5,c ,c >0.5,color='green',alpha=0.25)
t =1
plt.plot([t,t],[0,np.cos(t)],'y',linewidth=3,linestyle='--')
plt.annotate('cos(1)',xy=(t,np.cos(1)), xycoords ='data', xytext=(+10,+30),arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')
)
plt.show()
if __name__ == '__main__':
main()