FuncAnimation не отображает точки данных - PullRequest
0 голосов
/ 05 февраля 2020

Я новичок в Python и пытаюсь сделать gif из некоторых данных. Мои данные хранятся в двух двумерных списках (это правильный способ ссылаться на это в Python): positionsMatrix и speedsMatrix

Я пытаюсь нанести данные с помощью FuncAnimation как:

#...Read the data from csv files and store them...
#Now create the animation:

fig = matplotlib.pyplot.figure()
ax = matplotlib.pyplot.axes(xlim = (0.2695, 0.2745), ylim = (-40000, 40000))
line, = ax.plot([], [], lw=3)

def init():
    line.set_data([], [])
    return line,

def animate(i):
    x = []
    for row in positionsMatrix:
        x.append(row[i])
    y = []
    for row in speedsMatrix:
        y.append(row[i])
    print(x,y) #Here I print the data to make sure it exists. It does Exist.
    line.set_data(x, y)
    return line,

anim = matplotlib.animation.FuncAnimation(fig, animate, init_func=init, frames=len(positionsMatrix[0]), interval=20, blit=True)
anim.save('PhaseSpace.gif', writer='imagemagick')

Все, что я получаю, это просто ось, без указания точки. Я также получаю GIF, но ничего не отображается, это просто пустая ось.

Я получаю данные из файлов CSV, как, например:

timesMatrix = list(csv.reader(open('HistoryTimes.csv'), delimiter=','))
for row in timesMatrix:
    i = 0
    while i < len(row):
        row[i] = float(row[i])
        i += 1

Я построил данные, используя :

matplotlib.pyplot.plot(positionsMatrix[0], speedsMatrix[0], 'bo')

И все хорошо показывает. Кто-нибудь может направить меня в правильном направлении? Я новичок в python, и я не смог понять, что я делаю неправильно.

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