[英]Add a background image to matplotlib plot / gif
我有一个任务多次调用 plot 并从结果中创建一个 gif(参见下面的可重现示例)。
我的问题是:我想为这个 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
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)
来源:
我对此没有太多经验,但我能够显示我事先用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.