本文介绍了将背景图像添加到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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!