FIll между двумя вертикальными линиями в matplotlib

Я просмотрел примеры в документации matplotlib , но мне было непонятно, как я могу сделать заговор, который заполняет область между двумя конкретными вертикальными линиями.

Например, скажем, я хочу создать график между x=0.2 и x=4 (для полного диапазона y графика). Должен ли я использовать fill_between , fill или fill_betweenx ?

Могу ли я использовать условия для этого?

One Solution collect form web for “FIll между двумя вертикальными линиями в matplotlib”

Похоже, вам нужен axvspan , а не один из заполнения между функциями. Различия в том, что axvspanaxhspan ) заполняет всю длину y (или x) графика независимо от того, как вы увеличиваете масштаб.

Например, давайте использовать axvspan чтобы выделить x-область между 8 и 14:

 import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.plot(range(20)) ax.axvspan(8, 14, alpha=0.5, color='red') plt.show() 

введите описание изображения здесь

Вы можете использовать fill_betweenx для этого, но экстенты (как x, так и y) прямоугольника будут в координатах данных . С axvspan y-экстенты прямоугольника по умолчанию равны 0 и 1 и находятся в координатах осей (другими словами, в процентах от высоты графика).

Чтобы проиллюстрировать это, давайте сделаем прямоугольник протяженностью от 10% до 90% высоты (а не в полной мере). Попробуйте масштабирование или панорамирование и обратите внимание на то, что y-экстенты фиксируются в пространстве дисплея, а x-экстенты перемещаются с помощью масштабирования / панорамирования:

 import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.plot(range(20)) ax.axvspan(8, 14, ymin=0.1, ymax=0.9, alpha=0.5, color='red') plt.show() 

введите описание изображения здесь

  • Установите гауссовую функцию
  • Использование datetime в качестве тиков в Matplotlib
  • Маркировка оси невозможна с использованием matplotlib с LateX
  • Matplotlib: отображение значений массива с помощью imshow
  • мой заголовок matplotlib обрезается
  • интерполяция с помощью matplotlib pcolor
  • Шрифты Type 1 с лог-диаграммами
  • Линейная регрессия с matplotlib / numpy
  • Python - лучший язык программирования в мире.