Анимация Matplotlib с различным названием для каждого кадра - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть последовательность 2D-массивов, из которых я хотел бы сделать анимацию.Я хотел бы настроить некоторые кадры, например, добавив разные заголовки.

N_TIME_STEPS=100
records = get_records()
# records is a 250 X 250 X N_TIME_STEPS ndarray
ims = []
fig = plt.figure()
for i in range(N_TIME_STEPS):
    count_map = records[:, :, i]
    ax = plt.subplot(111)
    ax.set_title(f"step {i}")
    ax.set_ylabel(r'$k$')
    ax.set_xlabel(r'$\tau_{0}$')
    divider = make_axes_locatable(ax)
    cax = divider.append_axes("right", size="5%", pad=0.05)
    im = ax.imshow(count_map, cmap="inferno", origin='lower', extent=[0, 1, 0, 1])
    plt.colorbar(im, cax=cax)
    ims.append([im])
ani = animation.ArtistAnimation(fig, ims, interval=100, blit=False, repeat_delay=1000)

Это не работает.Название всех фреймов - «шаг 99»

Matplotlib услужливо выдает следующее предупреждение

Adding an axes using the same arguments as a previous axes currently reuses the earlier instance.  In a future version, a new instance will always be created and returned.  Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance

Но когда я попробую этот совет и использую

ax = plt.subplot(111, label=str(i))

, я получаюнеобъяснимый

Process finished with exit code -1073740791 (0xC0000409)

Что я делаю не так?

Примечание: ответ на этот вопрос мне не поможет, поскольку для блита установлено значение False, и я хочуназвание за пределами сюжета.Ответ на этот вопрос также не имеет значения

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