Я использую matplotlib для создания простой строки. Мой график - это простой набор данных временного ряда, где у меня есть время вдоль оси х и значение того, что я измеряю по оси Y. y могут иметь поведенческие или отрицательные значения, и я хотел бы заполнить область выше и ниже моей линии синим цветом, если значение y > 0 и красное, если значения y равны < 0. Здесь мой сюжет:
Как вы можете видеть, я могу получить синий цвет, чтобы заполнить его правильно, но я не могу правильно заполнить красный цвет. Вот базовый код, который я использую:
plt.plot(x, y, marker='.', lw=1)
d = scipy.zeros(len(y))
ax.fill_between(xs,ys,where=ys>=d, color='blue')
ax.fill_between(xs,0,where=ys<=d, color='red')
Как я могу получить область от положительного значения y до оси x, чтобы она была синей, а область от отрицательного значения y до оси x была красной? Спасибо за помощь.