将背景图像添加到matplotlib绘图/gif

Add a background image to matplotlib plot / gif(将背景图像添加到matplotlib绘图/gif)
本文介绍了将背景图像添加到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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)