Хорошо, я использовал массив numpy, и он работал частично, если y1 и y2 такие же, как в примере, оба цвета будут отображаться только тогда, когда квадрат поднимается или опускается, но когда два квадрата находятся на одном уровне, есть не заполняется ... ![enter image description here](https://i.stack.imgur.com/69GX5.png)
from pylab import *
import numpy as np
y1 = np.array([100, 101, 102, 103, 102, 101, 102, 103])
y2 = np.array([100, 100, 101, 102, 103, 102, 101, 102])
#y1 = np.array([100,100, 101,101, 102,102, 103,103, 102,102, 101,101, 102,102, 103,103])
#y2 = np.array([100,100, 100,100, 101,101, 102,102, 103,103, 102,102, 101,101, 102,102])
x = np.array(list(range(len(y1))))
plot(x, y1, '-', drawstyle="steps")
plot(x, y2, '-', drawstyle="steps")
xlabel('No.')
ylabel('Level')
title('Step Lines Chart')
grid(True)
fill_between(x, y1, y2, where=(y1 > y2), color='C0', alpha=0.3, step="pre")
fill_between(x, y1, y2, where=(y1 < y2), color='C1', alpha=0.3, step="pre")
fill_between(x, y1, y2, where=(y1 == y2), color='yellow', alpha=0.3, step="pre")
show()
Я попытался удвоить все числа (см. прокомментированный синтаксис) и работал немного лучше, но все еще не идеально, сейчас будет хорошо рисовать, но когда два квадрата находятся на одном уровне, заполнит только половину квадрата
![enter image description here](https://i.stack.imgur.com/N1i1K.png)
Все, что мне нужно, это когда y1 (синий линия) больше, чем y2 (оранжевая линия), квадрат должен быть заполнен синим цветом, а y1