Matplotlib不使用setD的完整图形电影

2024-09-25 08:29:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我对用matplotlib制作电影感兴趣。到目前为止,我看到的示例,比如this one for moviewriter,似乎让您在适当的位置编辑每个帧的数据。这是非常有效的,避免重画图像中每次都保持不变的部分。然而,对于快速的数据探索来说,它可能是笨重的。我想一个食谱,让我简单地采取一个完整的图形作为每一帧(清除相同的图形对象每一次是好的)。在

原因是:我经常使用自定义函数创建中等复杂的图形,格式类似plotme(ax, data, **options)。通常我在开发这些函数时没有考虑动画,后来想通过在循环中调用plotting函数来设置图形的动画。我不想将函数的逻辑更改为每个帧的图形中现有艺术家的“setData”。在


Tags: 数据函数图像图形编辑示例for电影
1条回答
网友
1楼 · 发布于 2024-09-25 08:29:04

尽管您展示的示例代码更新了现有的打印对象,但您没有理由需要这样做。附加代码的关键部分是writer.grab_frame(),它只是获取当前图形的屏幕截图。在

下面是一个不使用现有打印对象的示例

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import matplotlib.animation as manimation

FFMpegWriter = manimation.writers['ffmpeg']
metadata = dict(title='Movie Test', artist='Matplotlib',
                comment='Movie support!')
writer = FFMpegWriter(fps=15, metadata=metadata)

fig = plt.figure()

with writer.saving(fig, "writer_test.mp4", 100):
    for k in range(10):
        # Create a new plot object
        plt.plot(range(k), range(k), 'o')
        writer.grab_frame()

相关问题 更多 >