python – 使用matplotlib ArtistAnimation为动画添加文本

python – 使用matplotlib ArtistAnimation为动画添加文本,第1张

概述我有几个图像作为2D阵列,我想创建这些图像的动画,并添加随图像变化的文本. 到目前为止,我设法得到动画,但我需要你的帮助,为每个图像添加一个文本. 我有一个for循环来打开每个图像并将它们添加到动画中,并且假设我想要为每个图像添加图像编号(imgNum). 这是我的代码,用于生成图像的电影,没有文本. ims = []fig = plt.figure("Animation")ax = fig. 我有几个图像作为2D阵列,我想创建这些图像的动画,并添加随图像变化的文本.

到目前为止,我设法得到动画,但我需要你的帮助,为每个图像添加一个文本.

我有一个for循环来打开每个图像并将它们添加到动画中,并且假设我想要为每个图像添加图像编号(imgNum).

这是我的代码,用于生成图像的电影,没有文本.

ims = []fig = plt.figure("Animation")ax = fig.add_subplot(111)for imgNum in range(numfiles):    filename= files[imgNum]    img = read_image(filename)    frame =  ax.imshow(img)              ims.append([frame])anim = animation.ArtistAnimation(fig,ims,interval=350,blit=True,repeat_delay=350)anim.save('dynamic_images.mp4',fps = 2)plt.show()

那么,我如何用imgNum为每个图像添加一个文本?

谢谢你的帮助!

解决方法 您可以使用 annotate添加文本,并将注释艺术家添加到您传递给 ArtistAnimation的列表艺术家.以下是基于您的代码的示例.

import matplotlib.pyplot as pltfrom matplotlib import animation import numpy as npims = []fig = plt.figure("Animation")ax = fig.add_subplot(111)for imgNum in range(10):    img = np.random.rand(10,10) #random image for an example    frame =  ax.imshow(img)       t = ax.annotate(imgNum,(1,1)) # add text    ims.append([frame,t]) # add both the image and the text to the List of artists anim = animation.ArtistAnimation(fig,repeat_delay=350)plt.show()
总结

以上是内存溢出为你收集整理的python – 使用matplotlib ArtistAnimation为动画添加文本全部内容,希望文章能够帮你解决python – 使用matplotlib ArtistAnimation为动画添加文本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存