需求:绘制一个包含正弦曲线和余弦曲线的图表,具体要求如下: (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
该函数常用参数的含义如下:
label:表示标题的文本。
loc:表示标题的对齐样式。
axis:表示显示哪个方向的网格,该参数支持both、x、y这3个选项,默认为both。
linewidth:表示网格线的宽度。
xy:表示被注释点的坐标位置 ,接收元组(x,y)。
准备数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y_cos, y_sin = np.cos(x), np.sin(x)
绘制折线
plt.plot(x,y_sin,'red',lw=1.0,label='SIN')
plt.plot(x,y_cos,'blue',lw=1.0,alpha=0.5,label='COS')
图表辅助元素定制(图表标题,刻度标签,图例,网格,指向型注释文本)
#plt.title 图表标题
plt.title("sin&cos")
#plt.xticks 坐标轴刻度
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
plt.yticks([-1,-1/2,0,1/2,1])
#plt.legend 添加图例
plt.legend(['SIN','COS'], loc='upper left')
#plt.grid
plt.grid(axis= 'both',linewidth=0.3)
#plt.annotate 在x=1、y=np.cos(1)的位置添加指向型注释文本;
plt.annotate('cos(1)',xy=(np.pi/3,0.5),xytext=(np.pi/3,0.75),arrowprops=dict(arrowstyle='->'))
图表样式美化(填充颜色)
#plt.fill_between 填充颜色
plt.fill_between(x,y_cos,y_sin,y_cos>y_sin,color='green',alpha=0.25)
展示图表
plt.show()
运行结果如下
完整代码如下 :
"""
需求:绘制一个包含正弦曲线和余弦曲线的图表,具体要求如下:
(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
plt.plot(x,y_sin,'red',lw=1.0,label='SIN')
plt.plot(x,y_cos,'blue',lw=1.0,alpha=0.5,label='COS')
# 3.图表辅助元素定制(图表标题,刻度标签,图例,网格,指向型注释文本)
#plt.title 图表标题
plt.title("sin&cos")
#plt.xticks 坐标轴刻度
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
plt.yticks([-1,-1/2,0,1/2,1])
#plt.legend 添加图例
plt.legend(['SIN','COS'], loc='upper left')
#plt.grid
plt.grid(axis= 'both',linewidth=0.3)
#plt.annotate 在x=1、y=np.cos(1)的位置添加指向型注释文本;
plt.annotate('cos(1)',xy=(np.pi/3,0.5),xytext=(np.pi/3,0.75),arrowprops=dict(arrowstyle='->'))
# 4.图表样式美化(填充颜色)
#plt.fill_between 填充颜色
plt.fill_between(x,y_cos,y_sin,y_cos>y_sin,color='green',alpha=0.25)
plt.show()