小编BIG*_*FAN的帖子

为什么我无法将动画保存为 mp4

我无法以 mp4 格式保存动画,我知道我以前能够做到这一点,因为我的旧项目不再工作

import matplotlib.pyplot as plt
import matplotlib.animation as animate


fig,ax = plt.subplots()

def fun (frame):
    ax.plot([1,2,3])

a=animate.FuncAnimation(fig,fun, 5, interval=20)
a.save('tmp.mp4')
#      'tmp.gif' works


Run Code Online (Sandbox Code Playgroud)

错误信息

Exception Unhandled
unknown file extension: .mp4
Run Code Online (Sandbox Code Playgroud)

如果我尝试将动画保存为“gif”,我会收到以下消息

MovieWriter ffmpeg unavailable; using Pillow instead.
Run Code Online (Sandbox Code Playgroud)

我也不明白,因为据我所知,我确实安装了 ffmpeg

“pip list”给了我这个:

certifi         2020.11.8
cycler          0.10.0
ffmpeg          1.4
kiwisolver      1.3.1
matplotlib      3.3.3
numpy           1.19.3
Pillow          8.0.1
pip             20.2.1
pyparsing       2.4.7
python-dateutil 2.8.1
setuptools      49.2.1
six             1.15.0
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决这个问题吗?

python matplotlib

5
推荐指数
0
解决办法
565
查看次数

为什么要调用构造函数?

为什么s1()在这里调用构造函数?

#include<iostream>

struct s1 {
    s1(int tmp) {

    }

    s1() {
        std::printf("s1 invoked");
    }
};

struct s2 {
    s1 s;
    s2(s1& s) {
        this->s = s;
    }
};
int main() {

    s1 o1(5);
    s2 o2(o1);
    return 0;
}

Run Code Online (Sandbox Code Playgroud)

结果: s1 invoked

为什么在s2(s1& s)调用s1()构造函数中按引用传递?

c++ constructor initialization

1
推荐指数
1
解决办法
79
查看次数

标签 统计

c++ ×1

constructor ×1

initialization ×1

matplotlib ×1

python ×1