Matplotlib动画.一次显示初始图形的所有图的艺术化

vptzau2j  于 2023-04-06  发布在  其他
关注(0)|答案(1)|浏览(117)

我想创建我的结果的现场图,并发现这个SO问题做了大部分工作:Matplotlib animation update title using ArtistAnimation
但是,当我启动脚本时,显示的第一个图形是同时显示的每个图形(见下面的屏幕截图)我做错了什么?此外,轴绘制两次,但每个动画步骤都会移动(如初始图形)。我想将第一个绘制的图形作为起始图形,然后在interval=1000毫秒后转到下一个。

我使用了其他问题中的代码,没有添加任何内容:

import matplotlib.pyplot as plt
from matplotlib import animation
import numpy as np

a = np.random.rand(10,10)

fig, ax=plt.subplots()
container = []

for i in range(a.shape[1]):
    line, = ax.plot(a[:,i])
    title = ax.text(0.5,1.05,"Title {}".format(i), 
                    size=plt.rcParams["axes.titlesize"],
                    ha="center", transform=ax.transAxes, )
    container.append([line, title])

ani = animation.ArtistAnimation(fig, container, interval=200, blit=False)

plt.show()

使用Python=3.7.16matplotlib==3.5.3

gev0vcfq

gev0vcfq1#

我不能用Sublime这样的文本编辑器重现这个问题。我想知道你是否在使用Jupyter Notebook!如果是,你需要在单元格的顶部添加%matplotlib notebook

%matplotlib notebook # <- add this line

...

ani = animation.ArtistAnimation(fig,
                                container,
                                interval=1000, # <- change the interval here
                                blit=False)

输出:

相关问题