Я создаю базовый линейный сюжет с помощью matplotlib.Ось X представляет процентили.Ось Y представляет время в секундах.Я хочу заштриховать области диаграммы, которые представляют каждый процентиль (например, 0,25 и ниже,> 0,25 и <= 0,5 и т. Д.). </p>
Вот мой текущий код:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import rc
from matplotlib import mlab
import matplotlib.ticker as mtick
import seaborn as sns
testx = np.array([0.0, 0.05, 0.25, 0.5, 0.9])
testy = np.array([0,5,14.75,40,96.1,120])
plt.plot(testx, testy)
plt.fill_between(testx, testy, where=(testx <= 0.25))
plt.fill_between(testx, testy, where=(testx > 0.25) & (testx <= 0.5))
Это возвращает следующий график:

Как можно видеть, он правильно затеняет первый fill_between, где testx меньше или равен 0,25.Но потом ничего не затеняет.
Ожидаемый результат - многократное воспроизведение затенения для нескольких диапазонов.
Любая помощь очень ценится!