将背景图像添加到matplotlib绘图/gif [英] Add a background image to matplotlib plot / gif

查看:15
本文介绍了将背景图像添加到matplotlib绘图/gif的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个任务,它多次调用绘图并根据结果创建一个gif(有关可重现的示例,请参阅下面的示例)。

我的问题是:我想在此gif中添加背景图像。我的猜测是,在追加之前,我必须将其添加到循环中的某个位置。

我到目前为止所发现的,尽管很搞笑,但实际上与我的问题无关:

Plotting a cropped background image on a matplotlib graph

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)

来源:

How to create a DataFrame of random integers with Pandas?

推荐答案

我对此没有太多经验,但我能够显示我之前使用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)

这篇关于将背景图像添加到matplotlib绘图/gif的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆