Как использовать matploblib.animation.funcanimation для обновления изображения? - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь создать генератор лабиринта и показываю каждый «шаг» его создания (чтобы показать временную задержку создаваемого лабиринта).

Я пытался использовать комбинированный pyplot.pauseс pyplot.imshow, который работает, но очень медленно, слишком медленно для того, что мне нужно.

Я читал, что funcanimation можно использовать для отображения обновления изображения, но я не могу заставить его работать.

Лабиринт хранится в виде списков списков.

def chooseRandomAction(x, playSpace, possibleNodes, actions):
    #gets next maze state
    return next_maze_state


intWidth = 5
intHeight = 5

#creates initial state, not relevant to the question.
playSpace = [[3 for x in range(intWidth)] for x in range(intHeight)]
for i in range(1,intHeight - 1):
    if(i % 2 == 1):
        for j in range(1, intWidth - 1):
            if(j % 2 == 1):
                playSpace[i][j] = 0
playSpace[1][1] = 1
playSpace[intHeight - 2][intWidth - 2] = 2
possibleNodes = []
possibleNodes.append([1, 1])
possibleNodes.append([intHeight-2, intWidth-2])
a = -1
count = 0
actions = []
for i in range(len(possibleNodes)):
    actions+=actionsFromNode(playSpace, [possibleNodes[i][0], possibleNodes[i][1]])





plt.imshow(playSpace)
plt.axis('off')

while(count < 10):
    ani = FuncAnimation(plt.gcf(), chooseRandomAction, interval=5, fargs=(playSpace, possibleNodes, actions))
    count+=1

plt.show()

Я ожидал, что первые 10 шагов лабиринта будут показаны в некотором интервале времени, но сгенерированное изображение будет отображаться сразу без интервала времени.

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