Заполенение пространства между двумя линиями на графике штриховкой

Как заполнить пространство между двумя линиями на графике штриховкой, что бы выглядело как на вложенной картинке?

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

import matplotlib.pyplot as plt

# Интервалы по оси y
y1=[0, 1400]
y2=[1400, 1700]
y3=[1700, 2400]

# Интервалы по оси x верхние
x11=[1.12, 1.12]
x21=[1.58, 1.58]
plt.plot(x11,y1, color='r')
plt.plot(x21,y1, color='r')

# Интервалы по оси x средние
x12=[1.65, 1.65]
x22=[1.82, 1.82]
plt.plot(x12,y2, color='g')
plt.plot(x22,y2, color='g')

# Интервалы по оси x нижние
x13=[1.1, 1.1]
x23=[1.46, 1.46]
plt.plot(x13,y3, color='b')
plt.plot(x23,y3, color='b')

plt.gca().invert_yaxis()
plt.gca().axes.xaxis.set_ticks_position("top")
plt.show()

Ответы (1 шт):

Автор решения: strawdog

У вас неаккуратный код, так что пришлось потратить время, чтобы разобраться, что к чему.

Воспользуйтесь субмодулем patches:

import matplotlib.pyplot as plt
import matplotlib.patches as patches

fig, ax = plt.subplots()
# Интервалы по оси y
y1=[0, 1400]
y2=[1400, 1700]
y3=[1700, 2400]

# Интервалы по оси x верхние
x11=[1.12, 1.12]
x21=[1.58, 1.58]
ax.plot(x11,y1, color='r')
ax.plot(x21,y1, color='r')
patch = patches.Rectangle((x11[0],y1[0]), x21[0]-x11[0], y1[1], linewidth=0, fill=None, hatch='/', color="r")
# первый аргумент - координаты левого нижнего угла штриховки. второй и третий-
# ширина и высота соответственно.
ax.add_patch(patch)

# Интервалы по оси x средние
x12=[1.65, 1.65]
x22=[1.82, 1.82]
ax.plot(x12,y2, color='g')
ax.plot(x22,y2, color='g')
patch = patches.Rectangle((x12[0],y2[0]), x22[0]-x12[0], y2[1]-y2[0], linewidth=0, fill=None, hatch='/', color="g")
ax.add_patch(patch)


# Интервалы по оси x нижние
x13=[1.1, 1.1]
x23=[1.46, 1.46]
ax.plot(x13,y3, color='b')
ax.plot(x23,y3, color='b')
patch = patches.Rectangle((x13[0],y3[0]), x23[0]-x13[0], y3[1] - y3[0], linewidth=0, fill=None, hatch='/', color="b")
ax.add_patch(patch)


plt.gca().invert_yaxis()
plt.gca().axes.xaxis.set_ticks_position("top")
plt.show()

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

→ Ссылка