有没有办法不使用动感情节?
import matplotlib.animation as animation
from IPython.display import HTML
fig, ax = plt.subplots(figsize=(15, 8))
animator = animation.FuncAnimation(fig, draw_barchart, frames=range(1968, 2019))
HTML(animator.to_jshtml())
animator.save('dynamic_images.mp4')
我的代码在上面,我得到了关键错误.mp4'
,ValueError: unknown file extension: .mp4
我尝试过安装conda install -c conda-forge ffmpeg
,但最终出现了SSL问题。
免责声明:我浏览了链接https://www.wikihow.com/Install-FFmpeg-on-Windows
,但是这个链接被IT团队阻塞了
发布于 2020-02-03 00:48:36
您可以使用.gif
库将动画情节保存为celluloid
:
from matplotlib import pyplot as plt
from celluloid import Camera
import numpy as np
# create figure object
fig = plt.figure()
# load axis box
ax = plt.axes()
# set axis limit
ax.set_ylim(0, 1)
ax.set_xlim(0, 10)
camera = Camera(fig)
for i in range(10):
ax.scatter(i, np.random.random())
plt.pause(0.1)
camera.snap()
animation = camera.animate()
animation.save('animation.gif', writer='PillowWriter', fps=2)
输出:
发布于 2021-01-28 07:28:30
这是我第一次回答,所以请温柔一点。
上面的答案似乎是个好主意,但它没有回答为什么matplotlib内置方法不起作用,所以我决定添加一些解释。
这可能是一个副本(可能是复制?)。
问题是你错过了。
如果您使用conda作为您的经理,那么请安装缺少的软件包。
您也可以使用apt、dnf、pacman或其他您正在使用的任何东西来实现该功能。
万一你用的是conda:
conda install -c conda-forge ffmpeg
您可能会错过另一个依赖项,即Openh264
。
同样,如果使用conda:conda install -c conda-forge openh264
如果您仍然缺少更多的依赖项,那么解决它们将取决于您正在使用的平台。
如果您正在使用Windows,我建议您尝试使用miniconda。
在我的例子中,在使用conda (我的平台是/is)安装openh264之后,我仍然遇到问题,因为安装的库被称为libopenh264.so.6
而不是libopenh264.so.5
。
无论如何,我决定尝试它,并创建了一个指向以6
结尾的版本的符号链接,该链接位于同一个目录(/lib64/
)中,并且工作正常。
https://stackoverflow.com/questions/60033397
复制相似问题