首页 > 解决方案 > Matplotlib 动画的问题

问题描述

我在使用 Matplotlib 动画时遇到问题。我直接从https://www.geeksforgeeks.org/matplotlib-animation-funcanimation-class-in-python/获取代码并安装了 ffmeg,但收到一条错误消息。错误信息和代码如下,不胜感激。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import animation
from matplotlib.animation import FuncAnimation
fig = plt.figure()
axis = plt.axes(xlim =(0, 4),  
                ylim =(-2, 2))  
line, = axis.plot([], [], lw = 3)  
  
 
def init():  
    line.set_data([], [])  
    return line,  
  
def animate(i):  
    x = np.linspace(0, 4, 1000)  
    y = np.sin(2 * np.pi * (x - 0.01 * i))  
    line.set_data(x, y)  
      
    return line,  
  
anim = FuncAnimation(fig, animate,  
                    init_func = init,  
                    frames = 200,  
                    interval = 20,  
                    blit = True)  
  
anim.save('continuousSineWave.mp4',  
          writer = 'ffmpeg', fps = 30) 

错误信息的顶部:

MovieWriter stderr:
dyld: Library not loaded: @rpath/libopenh264.5.dylib
  Referenced from: /opt/anaconda3/lib/libavcodec.58.54.100.dylib
  Reason: image not found

标签: pythonpython-3.xmatplotlib

解决方案


我有同样的问题。即使在安装之后,它似乎也存在一些基于 libopen264.so 的依赖关系。显然 ffmpeg 4.2.2 和最新的 python 版本不太匹配,如本文所述:

ffmpeg:加载共享库时出错:libopenh264.so.5

即使我将 ffmpeg 正确安装到 anaconda 中,我仍然必须通过单独更新它 conda update ffmpeg


推荐阅读