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()
