导入所需要的库
import numpy as np
import matplotlib.pyplot as plt
导入数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y_cos, y_sin = np.cos(x), np.sin(x)
创建画布并添加绘图区域
fig = plt.figure()
ax = fig.add_subplot(111)
绘制图表
ax.plot(x, y_sin,'r', linewidth=1., label='SIN')#正弦曲线,linewidth是线宽
ax.plot(x, y_cos,'b', linewidth=1., alpha=0.5, label='COS')#余弦曲线,alpha为透明度
添加图表标题,用title()
ax.set_title("Cos & Sin")
分别使用xticks()和yticks()添加图表的x轴和y轴的刻度标签
ax.set_xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
[r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$'])#在字符串前加r,意味着该字符串将被视为原始字符串,所有转义字符都被忽略
ax.set_yticks([-1., -0.5, 0., 0.5, 1.])
添加图例,因为在绘制图表那一步已经定义好图例标签,所以这里直接legend()引用就可以
ax.legend(loc='upper left')#loc用于粗略调整图例在整个绘图区域的位置,这里调到左上角
显示网格
ax.grid(b=True,#b 表示是否显示网格
axis='both')# axis表示显示哪个方向的网格,默认就是both,不添加也可以,该参数还支持x和y这两个选项
添加指向性注释文本,使用annotate()
ax.annotate("cos(1)",# 注释文本的内容
xy=(1, np.cos(1)), # 表示被注释的点的位置,注意接收的是元组(x,y)
xytext=(np.pi/2.5, np.cos(0.7)), # 表示注释文本所在的坐标位置,接收的也是元组
arrowprops={'arrowstyle':'->'}) # 表示指示箭头的属性字典
使用fill_between()函数填充两条水平曲线之间的区域。(如果是垂直曲线用 fill_betweenx() )
# color和alpha均为**kwargs参数
ax.fill_between(x, #x轴坐标的序列
y_cos, #第一条曲线的y轴坐标
y_sin, #第二条曲线的y轴坐标
y_cos > y_sin, #要填充区域的条件
color='g', #填充区域的颜色
alpha=0.25) #填充颜色的透明度
展示图表
plt.show()
运行结果如下: