объясняет, почему объект анимации не является сборщиком мусора в моем примере ...
я создаю файлtest.py
с кодом
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
if __name__ == '__main__':
fig = plt.figure()
title = fig.suptitle("Test _")
def anim(i):
title.set_text("Test %d" % i)
plt.plot([0,1], [0,1])
FuncAnimation(fig, anim)
plt.show()
и попробуйте запустить его в моей командной строке, используяpython test.py
, Я получаю пустой экран с заголовкомTest _
и без каких-либо осей.
То же самое верно при работе сpython -i test.py
, но если я сейчас введу тот же код в интерактивном сеансе
>>> fig = plt.figure()
>>> title = fig.suptitle("Test _")
>>> FuncAnimation(fig, anim)
>>> plt.show()
все просто работает как положено.
Я так долго смотрю на это и, похоже, не вижу никаких проблем или вопросов, связанных с этим. Я использую Matplotlib 2.0.0 в Python 3.5.2 на OS X.
Это (известная) ошибка? Кто-нибудь с идеями, почему это может происходить или как это можно решить?