Matplotlib 参考线

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()

运行之后,效果如下图所示。

Matplotlib 设置单个水平参考线

分析:

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)

Matplotlib设置多个水平参考线

如果想要添加一个垂直方向的参考线,此时我们可以使用 axvline() 函数来实现。比如改为下面这一句代码,此时效果如下图所示。

plt.axvline(x=10, color='red', linestyle='dashed', linewidth=1)

Matplotlib设置垂直参考线

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号