Я создал свой собственный аффинно-инвариантный алгоритм MCMC, используя два измерения, наклон и y-пересечение, а также используя 4-х ходовых. У меня есть все данные в CSV-файле, где есть два столбца m и b, а затем для каждой первой из четырех строк, он будет представлять первый ходок. Например, в приведенном ниже файле csv первый ходок представлен в 0-й, 4-й, 8-й и 12-й строках, а второй ходок представлен в 1-й, 5-й, 9-й и 13-й строках и т. Д. Ниже приведен фрагмент кода:
Я хочу создать сюжет, похожий на сюжет для спагетти или эволюции https://python -graph-gallery.com / 124-spaghetti-plot / , где каждый из участников представлен своей собственной линией а не весь столбец m и b изображен в виде их собственной линии. До сих пор у меня была функция, которая разделяет ходунки по строкам и столбцам по фреймам данных, но у меня возникают проблемы с отображением этих значений в виде нескольких строк.
def make_evo_plot(df):
w1m = df['m'][0::4] #walker1 m
w1b = df['b'][0::4] #walker1 b
w2m = df['m'][1::4] #walker2 m
w2b = df['b'][1::4] #walker2 b
w3m = df['m'][2::4] #walker3 m
w3b = df['b'][2::4] #walker3 b
w4m = df['m'][3::4] #walker4 m
w4b = df['b'][3::4] #walker4 b
fig,ax = plt.subplots()
plt.plot(w1m)
plt.plot(w2m)
plt.plot(w3m)
plt.plot(w4m)
ax.plot(w1b,w2b,w3b,w4b)
plt.show()
И из этого кода мой сюжет выглядит так:
Любая помощь в построении данных очень ценится!
Обновление:
Я пытался сделать приведенный ниже код, но я получаю ValueError: x and y must have same first dimension, but have shapes (0,) and (8750,)
def make_evo_plot(df):
w1m = df['m'][0::4] #walker1 m
w1b = df['b'][0::4] #walker1 b
w2m = df['m'][1::4] #walker2 m
w2b = df['b'][1::4] #walker2 b
w3m = df['m'][2::4] #walker3 m
w3b = df['b'][2::4] #walker3 b
w4m = df['m'][3::4] #walker4 m
w4b = df['b'][3::4] #walker4 b
fig,ax = plt.subplots()
plt.plot(w1m)
plt.plot(w2m)
plt.plot(w3m)
plt.plot(w4m)
ax.plot(w1b,w2b,w3b,w4b)
plt.show()