Python 阴谋

Python 阴谋,python,matplotlib,Python,Matplotlib,我试图使用figimage在水印上绘图,但无论我做什么,图像最终都会位于绘图顶部 这是我的密码: 将numpy导入为np 将matplotlib.pyplot作为plt导入 im=np.zero((40,40,3),dtype=np.float) 图,ax=plt.子批次() 图5图像(im、100、60) plt.散射([0,1,2,3,4],[0,1,2,3,4],zorder=10) plt.show() 结果: 我尝试过使用zorder参数,但也不起作用。你知道我怎样才能在情节背后得

我试图使用
figimage
在水印上绘图,但无论我做什么,图像最终都会位于绘图顶部

这是我的密码:

将numpy导入为np
将matplotlib.pyplot作为plt导入
im=np.zero((40,40,3),dtype=np.float)
图,ax=plt.子批次()
图5图像(im、100、60)
plt.散射([0,1,2,3,4],[0,1,2,3,4],zorder=10)
plt.show()
结果:


我尝试过使用
zorder
参数,但也不起作用。你知道我怎样才能在情节背后得到一幅图像吗?

zorder
确实是一种方法。您将希望轴的zorder高于图像。(这是因为
figimage
是图形的子对象,而不是轴。)

所以

将图像置于轴的后面。现在这可能是不希望的,因为它是隐藏的。因此,除此之外,还需要使轴背景透明

import numpy as np
import matplotlib.pyplot as plt

im = np.zeros((40,40,3), dtype=np.float)

fig, ax = plt.subplots()
im = fig.figimage(im, 100, 60)
ax.scatter([0, 1, 2, 3, 4], [0, 1, 2, 3, 4])

ax.set_zorder(1)
im.set_zorder(0)
ax.patch.set_visible(False)

plt.show()

zorder
确实是一种方法。您将希望轴的zorder高于图像。(这是因为
figimage
是图形的子对象,而不是轴。)

所以

将图像置于轴的后面。现在这可能是不希望的,因为它是隐藏的。因此,除此之外,还需要使轴背景透明

import numpy as np
import matplotlib.pyplot as plt

im = np.zeros((40,40,3), dtype=np.float)

fig, ax = plt.subplots()
im = fig.figimage(im, 100, 60)
ax.scatter([0, 1, 2, 3, 4], [0, 1, 2, 3, 4])

ax.set_zorder(1)
im.set_zorder(0)
ax.patch.set_visible(False)

plt.show()

我无法使用您的代码复制该图形。Mine绘制所有点,没有黑色正方形。
figimage
的第二个和第三个参数是以像素为单位的坐标。试着调整它们,使正方形位于散点的顶部。我认为轴被画在图上。您可以尝试在调用Figimage时将alpha设置为0.5。我无法使用您的代码复制该图形。Mine绘制所有点,没有黑色正方形。
figimage
的第二个和第三个参数是以像素为单位的坐标。试着调整它们,使正方形位于散点的顶部。我认为轴被画在图上。您可以尝试在调用figimageNote时设置alpha=0.5。注意,根据用例的不同,您可能希望使用
OffsetImage
。请参阅。注意,根据用例的不同,您可能希望使用
OffsetImage
。看看吧。