Matplotlib 参考线函数
在 Matplotlib 中,我们可以使用 axhline() 函数来添加一个水平方向的参考线,也可以使用 axvline() 函数来添加一个垂直方向的参考线。
其中,axhline 是 “axis horizontal line(水平参考线)” 的缩写,axvline 是 “axis vertical line(垂直参考线)” 的缩写。
语法:
plt.axhline(
y=0.0,
xmin=0.0,
xmax=1.0,
color='k',
linestyle='-',
linewidth=None,
**kwargs
)
plt.axvline(
x=0.0,
ymin=0.0,
ymax=1.0,
color='k',
linestyle='-',
linewidth=None,
**kwargs
)说明:
对于 axhline() 函数来说,它接收以下参数(axvline() 类似)。
y(必选):定义水平参考线的 y 坐标值。xmin(可选):水平参考线起始位置的 x 轴坐标,取值范围为 0 到 1,表示从 Axes 的左边界到右边界的比例,默认为 0。xmax(可选):水平参考线结束位置的 x 轴坐标,取值范围为 0 到 1,默认为 1。color(可选):定义线条颜色,默认为黑色('k')。linestyle(可选):定义线条风格,默认为实线('-')。linewidth(可选):定义线条宽度。alpha(可选):定义线条的透明度,取值范围为 0 到 1。
注意: axhline() 和 axvline() 函数默认在当前的 Axes 对象上绘制参考线。
Matplotlib 参考线示例
接下来,我们通过几个简单的例子来讲解一下 Matplotlib 是如何设置参考线样式的。
示例:Matplotlib 设置单个水平参考线
import matplotlib.pyplot as plt
# 设置
plt.rcParams['font.family'] = ['SimHei', 'PingFang SC']
plt.rcParams['axes.unicode_minus'] = False
# 绘图
x = range(1, 16)
y = [36.0, 36.1, 36.6, 36.2, 36.4, 36.5, 36.0, 36.2, 36.4, 36.8, 36.7, 36.1, 36.6, 36.5, 36.7]
plt.plot(x, y, marker='o', markerfacecolor='white')
# 定义标题
plt.title('15日体温变化')
plt.xlabel('日期')
plt.ylabel('体温')
# 水平参考线
plt.axhline(y=36.5, color='red', linestyle='dashed', linewidth=1)
# 显示
plt.show()运行之后,效果如下图所示。

分析:
plt.axhline(y=36.5, color='red', linestyle='dashed', linewidth=1) 表示在 y 轴的 36.5 刻度值处添加一条红色的虚线,线宽为 1。
如果想要同时添加多个水平参考线,只需要调用多次 axhline() 函数就可以了。比如执行下面 2 句代码,此时效果如下图所示。
plt.axhline(y=36.8, color='red', linestyle='dashed', linewidth=1)
plt.axhline(y=36.0, color='red', linestyle='dashed', linewidth=1)
如果想要添加一个垂直方向的参考线,此时我们可以使用 axvline() 函数来实现。比如改为下面这一句代码,此时效果如下图所示。
plt.axvline(x=10, color='red', linestyle='dashed', linewidth=1)
