例题:
需求:绘制一个包含正弦曲线和余弦曲线的图表,具体要求如下: (1) 正弦曲线的样式:红色、线宽为1.0; (2) 余弦曲线的样式:蓝色、线宽为1.0,透明度为0.5; (3) x轴的刻度标签为“-π”、 “-π/2”、 “0”、 “π/2”、 “-π”; (4) 在x=1、y=np.cos(1)的位置添加指向型注释文本; (5) 为正弦曲线和余弦曲线封闭起来的区域填充绿色,透明度为0.25.
示例代码:
1.导入模块
import numpy as np
import matplotlib.pyplot as plt
2.准备数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y_cos, y_sin = np.cos(x), np.sin(x)
3.绘制折线(正弦曲线和余弦曲线)
plt.plot(x, y_sin, label='sin(x)', color='r', lw=1.0)
plt.plot(x, y_cos, label='cos(x)', color='b', lw=1.0, alpha=0.5)
plt.title('Cos & Sin')
plt.annotate("cos(1)", xy=(1, np.cos(1)), xytext=(1.3, 0.8), arrowprops=dict(arrowstyle='->'))
4.设置图表标题和指向性注释文本
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])
plt.xlim(x.min() * 1.2, x.max() * 1.2)
5.设置x轴和y轴的刻度范围和刻度标签
plt.legend(['COS', 'SIN'], loc='upper left')
6.添加图例
plt.grid(b=True, axis='both', lw=0.3)
7.正弦曲线和余弦曲线封闭起来的区域填充绿色,透明度为0.25
7.1 使用fill_between()函数填充两条水平线之间的区域
fill_between(x,y1,y2=0,where=None,interpolate=False,step=None,data=None,**kwargs)
参数说明:
where:布尔值,表示要填充区域的条件。y1>y2说明第一条曲线位于第二条曲线上方时候填充,y1<y2说明第二条曲线位于第一条曲线上方时候填充
plt.fill_between(x, y_cos, y_sin, y_cos > y_sin, color='g', alpha=0.25)
plt.show()
运行结果:
美化图表的内容:
选择线条的类型
添加数据标记
填充型标记
非填充型标记
颜色映射表分类: