我正在尝试使用figimage
在水印上进行绘图,但是无论我做什么,图像最终都位于绘图的顶部。
这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
im = np.zeros((40,40,3), dtype=np.float)
fig, ax = plt.subplots()
fig.figimage(im, 100, 60)
plt.scatter([0, 1, 2, 3, 4], [0, 1, 2, 3, 4], zorder=10)
plt.show()
我尝试使用zorder
参数,但这也不起作用。知道如何在情节后面得到图像吗?
答案 0 :(得分:2)
zorder
确实是走这里的路。您将希望轴具有比图像更高的zorder。 (这是因为figimage
是图形的子级,而不是轴。)
所以
ax.set_zorder(1)
im.set_zorder(0)
将图像放置在轴后。现在这可能是不希望的,因为它是隐藏的。因此,此外,您还需要使轴背景透明。
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()