我正在尝试使用 FuncAnimation 在 matplotlib 中为一些分形设置动画。当我将 blit 设置为 False 时,我没有收到任何错误:代码运行良好并为我生成了一个不错的动画。但是,当我将 blit 设置为 True 时,它给了我TypeError: 'Line2D' object is not iterable. 有谁知道为什么会发生这种情况以及我该如何解决?
我想利用 blitting 的优势,因为我计划为一大群分形制作动画,并且只取其中的一小部分(64 个不同的分形)已经花费了大量的计算时间。我有一种快速的方法来生成一个矩阵,其中列包含不同的分形,所以我知道计算时间是花在尝试为一堆图设置动画而不是 blitting 上的。
在我的示例中,我只是为生成分形的迭代设置动画。这是说明我得到的错误的一种简短而快速的方法,而不是我实际尝试动画的方式,否则我不会关心 blitting。
如果您安装了 ffmpeg,这是一个应该在 jupyter notebook 中运行的最小示例:
import numpy as np
import scipy as sp
import scipy.linalg as la
from matplotlib import pyplot as plt
from matplotlib.animation import FuncAnimation
from matplotlib import animation, rc
from IPython.display import HTML
%matplotlib inline
plt.rcParams['figure.figsize'] = [8,8]
plt.rcParams['animation.ffmpeg_path'] = "C:\\Program Files\\ffmpeg\\bin\\ffmpeg.exe" #<- CHANGE TO YOUR PATH TO …Run Code Online (Sandbox Code Playgroud)