import numpy as np import matplotlib.pyplot as plt x=np.linspace(-np.pi,np.pi,256,endpoint=True) sin,cos=np.sin(x),np.cos(x) plt.plot(x,sin,"b-",lw=2.5,label="sin()") plt.plot(x,cos,"r-",lw=2.5,label="cos()") plt.xlim(x.min()*1.5,x.max()*1.5) plt.ylim(cos.min()*1.5,cos.max()*1.5) 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,1]) t=2*np.pi/3 plt.annotate(r'$\sin{\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$', xy=(t,np.sin(t)), xycoords='data', xytext=(+10,+30), textcoords='offset points', arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.1")) ax=plt.gca() ax.xaxis.set_ticks_position('bottom') ax.spines['bottom'].set_position(('data',0)) ax.yaxis.set_ticks_position('left') ax.spines['left'].set_position(('data',0)) plt.plot(x,sin) plt.plot(x,cos) plt.fill_between(x,np.abs(x)<0.5,sin,sin>0.5,color='g',alpha=0.8) plt.fill_between(x,cos,where=(-2.5<x)&(x<-0.5),color='purple') plt.grid(True) plt.legend(loc="upper left",fontsize=12) plt.show()
时间: 2024-03-29 10:38:35 浏览: 140
这是一段使用Matplotlib库绘制正弦和余弦函数图像的代码,并在图像上添加注释和填充区域的示例。
代码解释:
- 首先导入numpy和matplotlib库。
- 使用np.linspace函数生成一个从-pi到pi的等差数列x,并分别计算x对应的sin和cos值。
- 使用plt.plot函数绘制sin和cos函数的图像,其中"b-"和"r-"表示蓝色和红色的实线,lw参数表示线宽,label参数表示图例标签。
- 使用plt.xlim和plt.ylim函数设置x和y轴的范围。
- 使用plt.xticks和plt.yticks函数设置x和y轴的刻度值,其中使用LaTeX语法渲染标签。
- 使用plt.annotate函数在图像上添加注释,其中xy参数表示注释的位置,xytext参数表示注释文本的位置,arrowprops参数表示箭头的样式和连接方式。
- 使用ax.xaxis.set_ticks_position和ax.yaxis.set_ticks_position函数设置x和y轴的刻度位置,使用ax.spines函数设置x和y轴的边框位置。
- 使用plt.fill_between函数填充sin函数和x轴之间的区域,并在x的绝对值小于0.5和sin的值大于0.5时填充绿色,alpha参数表示填充区域的透明度。
- 使用plt.fill_between函数填充cos函数和x轴之间的区域,并在x的取值在[-2.5, -0.5]之间时填充紫色。
- 使用plt.grid函数显示网格线,使用plt.legend函数显示图例。
绘制的图像如下:
可以看到,图像上方有正弦和余弦函数的图像,下方有填充区域和注释。
阅读全文