是否可以在matplotlib中修补图像?

时间:2017-01-03 23:23:47

标签: python matplotlib

我正在使用matplotlib在Python中开发和自动化,我想用我在网上挑选的机器人外观来设计它。我选择了一个文件,我想把它放在下图中的黑色方块的位置......

enter image description here

我一直在寻找一种方法在网上做,但我没有找到任何答案。 仅供参考,我使用fig = plt.Figure()方法,然后使用fig.add_subplot创建我的子图,最后通过创建黑色补丁生成黑色方块。

1 个答案:

答案 0 :(得分:2)

我不相信补丁是为了这个目的。但是,由于您无疑知道黑盒子的位置和边界区域,因此OffsetImage和AnnotationBbox是一种可行的选择。

import math
import numpy as np
from matplotlib.offsetbox import OffsetImage, AnnotationBbox

x = np.linspace(0,10, 10)
y = [math.sin(i) for i in x]
fig, ax = plt.subplots()
im = plt.imread('pacman.png')
oi = OffsetImage(im, zoom = 0.15)
a = []
for px, py in zip(x,y):
    box = AnnotationBbox(oi, (px, py), frameon=False)
    a.append(ax.add_artist(box))
ax.plot(x,y,'r--')

enter image description here

希望这有帮助。