Имея список списков в Python, мне нужно построить их (используя Matplotlib и Python) один список под другим, используя шаг по оси Y.
Например: ll = [[1,2,3], [0,3,4]]
Дляll
, список списков, шаг по оси Y будет 4 (наибольшее значение).Смещение инициализируется равным 0. При каждом построенном списке смещение будет увеличиваться с шагом по оси Y.Значения на оси X будут 1,2,3
для каждого списка, потому что в каждом подсписке есть 3 точки.
Значения на оси Y будут 1,2,3
(смещение 0) для первого списка и4,6,7
для второго списка, я добавил смещение (0 + step (4) = 4) для каждого элемента.
Для следующего элемента смещение будет равно 8. Это значение будет добавлено к каждомуэлемент в 3-м списке (если он существует в примере) и так далее ... Также мне нужно, чтобы точки из того же списка были подключены.ll
может содержать более 2 списков.Сюжет будет выглядеть так:

Код, который я написал:
x = np.arange(0, len(list_of_lists[0]))
y = list_of_lists[0]
step_on_y = max([item for sublist in list_of_lists for item in sublist])
lines = []
rows = 0
for list_in in range(len(list_of_lists)):
for i in range(0, len(list_of_lists[list_in]) - 1):
pair = [(x[i], list_of_lists[list_in][i] + rows), (x[i + 1], list_of_lists[list_in][i+1] + rows)]
lines.append(pair)
rows = rows + step_on_y
linecoll = matcoll.LineCollection(lines)
fig, ax = plt.subplots()
ax.add_collection(linecoll)
print(len(x), len(list_of_lists)*len(list_of_lists[0]))
plt.scatter(x, y, s=1)
plt.xlabel('X')
plt.ylabel('Y')
plt.xticks(x)
plt.ylim(0, 30)
plt.show()
Результат, который я получаю: 
Как я могу получить желаемый результат?Что я должен изменить в своем коде?