繁体   English   中英

添加背景图片到 matplotlib plot / gif

[英]Add a background image to matplotlib plot / gif

我有一个任务多次调用 plot 并从结果中创建一个 gif(参见下面的可重现示例)。

我的问题是:我想为这个 gif 添加背景图片。 我的猜测是,在附加之前,我必须在循环中的某个地方添加它。

到目前为止我发现的东西,虽然很有趣,但与我的问题并没有真正的关系:

在 matplotlib 图上绘制裁剪的背景图像

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib.animation import PillowWriter
import time

rng = np.random.default_rng()
fig = plt.figure(figsize=[10, 9])

ims = []
for i in range(200):
    df = pd.DataFrame(rng.integers(0, 100, size=(100, 2)), columns=list('xy'))
    x = df["x"]
    y = df["y"]
    im = plt.plot(x, y, "b.")
    ims.append(im)
    print(i)
    
    
    

ani = animation.ArtistAnimation(fig, ims, interval=500, blit=True,
                                repeat_delay=1000)

writer = PillowWriter(fps=2)
ani.save("demo2.gif", writer=writer)

来源:

如何使用 Pandas 创建随机整数的 DataFrame?

我对此没有太多经验,但我能够显示我事先用plt.imshow()调用的图像。 由于文件大小限制,无法上传demo.gif 抱歉,示例中使用的图像不好。 对不起。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib.animation import PillowWriter
import time
import matplotlib.image as mpimg

rng = np.random.default_rng()
fig = plt.figure(figsize=[10, 9])

img = mpimg.imread('lena_thumbnail_center_square.jpg')

ims = []
for i in range(200):
    df = pd.DataFrame(rng.integers(0, 100, size=(100, 2)), columns=list('xy'))
    x = df["x"]
    y = df["y"]
    im = plt.plot(x, y, "b.")
    ims.append(im)
#     print(i)   

ani = animation.ArtistAnimation(fig, ims, interval=500, blit=True,
                                repeat_delay=1000)
plt.imshow(img)

writer = PillowWriter(fps=2)
ani.save("demo2.gif", writer=writer)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM