Построение всех строк по одной для Dataframe на одном графике - PullRequest
0 голосов
/ 15 апреля 2020

У меня проблемы с отображением моего кадра данных ниже

     0        1        2        3        4        5     6     7
0  300      300      300      300     1550     1550  1550  1550
1  300      300      300  303.078  1547.25     1550  1550  1550
2  300      300  300.008  306.141  1544.53  1549.99  1550  1550
3  300      300  300.023  309.189  1541.82  1549.98  1550  1550
4  300      300  300.045  312.222  1539.13  1549.96  1550  1550
5  300      300  300.075   315.24  1536.45  1549.94  1550  1550
6  300      300  300.112  318.243   1533.8  1549.91  1550  1550
7  300  300.001  300.157  321.232  1531.16  1549.88  1550  1550
8  300  300.001  300.208  324.206  1528.55  1549.83  1550  1550
9  300  300.002  300.267  327.165  1525.95  1549.79  1550  1550

Код, который я пробовал

rows = 10
k = 0
while k < rows:
    plt.clf
    M.plot(k,M.iloc[k,:])
    plt.show()
    k = k +1

Ошибка, которую я получаю:

"None of [Int64Index([300, 300, 300, 300, 1550, 1550, 1550, 1550], dtype='int64')] are in the [columns]"

Цель чтобы фигура выглядела так, как делается по ссылке ниже. Я могу установить пределы оси и прочее, как только я решу вышеуказанную проблему. https://youtu.be/6-2Wzs0sXd8?t=1426

1 Ответ

0 голосов
/ 18 апреля 2020

Итак, я экспериментировал с анимацией matplotlib, чтобы получить результаты. Я использовал случайные данные для этого примера

from matplotlib.animation import FuncAnimation
fig = plt.figure()
ax = plt.axes(xlim=(0, 7), ylim=(0, 8))
line, = ax.plot([], [], lw=3)

def init():
    line.set_data([], [])
    return line,
def animate(i):
    x = df.columns.values
    y = df.iloc[i, :]
    line.set_data(x, y)
    return line,

# set frames to no. of rows in the dataframe.
anim = FuncAnimation(fig, animate, init_func=init,
                               frames=10, interval=500, blit=True)

anim.save('example.gif', writer='imagemagick')

enter image description here

EDIT : все на одном графике после вашего комментария, но почему Вы хотите транспонировать матрицу?

пример случайных данных

for i in df.index.values:
    plt.plot(df.columns.values, df.iloc[i, :].values)
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...