Как построить горизонтальную и вертикальную линию в Matplotlib

  1. axhline и axvline для построения горизонтальных и вертикальных линий в Matplotlib
  2. hlines и vlines для нанесения горизонтальной и вертикальной линии в Matplotlib
  3. Заключение о рисовании горизонтальных и вертикальных линий в Matplotlib

В этом уроке мы познакомим вас с двумя методами построения горизонтальных и вертикальных линий в Matplotlib. Эти два метода используют разные координаты в Matplotlib.

  • axhline() / axvline()
  • hlines() / vlines()

axhline и axvline для построения горизонтальных и вертикальных линий в Matplotlib

axhline чтобы проложить горизонтальную линию

matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1, hold=None, **kwargs)

axhline рисует горизонтальную линию на позиции y в координате данных горизонтальной линии, начиная от xmin до xmax, которая должна быть между 0.0 и 1.0, где 0.0 - это крайняя левая часть участка, а 1.0 - крайняя правая часть участка.

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_*2 for _ in xdata]

plt.plot(xdata, ydata, 'b')

plt.axhline(y=5, xmin=0.1, xmax=0.9)

plt.grid()
plt.show()

Matplotlib_plot горизонтальная линия с акселевой линией

axvline чтобы построить вертикальную линию

Точно так же,

matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1, hold=None, **kwargs)

axvline рисует вертикальную линию на позиции x в координате данных вертикальной линии, начиная от ymin до ymax, которая должна быть между 0.0 и 1.0, где 0.0 - это нижняя часть участка, а 1.0 - это верхняя часть участка.

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_*2 for _ in xdata]

plt.plot(xdata, ydata, 'b')

plt.axvline(x=5, ymin=0.1, ymax=0.9)

plt.grid()
plt.show()

Matplotlib_plot вертикальная линия с акселевой линией

Как было сказано выше, xmin / xmax и ymin / ymax относятся к графику, но не к линиям данных.

Поэтому, при увеличении или уменьшении масштаба графика, начальная и конечная точки горизонтальных и вертикальных линий обновляются со ссылкой на координату данных, но придерживаются относительных положений в координате графика. Для лучшего понимания можно проверить приведенную ниже анимацию.

Увеличение горизонтальной и вертикальной линий по методу Matplotlib

hlines и vlines для нанесения горизонтальной и вертикальной линии в Matplotlib

Если мы хотим, чтобы построенные горизонтальные и вертикальные линии менялись автоматически, чтобы сохранить относительное положение к координате данных, нам нужно использовать hlines и vlines для построения линий.

hlines(y, xmin, xmax)

Здесь y, xmin и xmax - значения координат данных.

vlines(x, ymin, ymax)

Здесь, x, ymin и ymax - значения координат данных.

Давайте посмотрим примеры кодов ниже.

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_*2 for _ in xdata]

plt.plot(xdata, ydata, 'b')

plt.hlines(y=5, xmin=0, xmax=10)
plt.vlines(x=5, ymin=0, ymax=20)

plt.grid()
plt.show()

Matplotlib_hlines и vines для построения горизонтальных и вертикальных линий

Matplotlib линии и линии горизонтальные и вертикальные линии масштабирования в действие

Заключение о рисовании горизонтальных и вертикальных линий в Matplotlib

Если вам нужно, чтобы линия была отнесена к участку, то axhline и axvline должны быть лучшим вариантом.

Если Вы предпочитаете, чтобы линия была привязана к координатам данных, то hlines и vlines должны быть лучшим вариантом.

comments powered by Disqus