Python imshow和mark_插图的分层不正确

Python imshow和mark_插图的分层不正确,python,matplotlib,Python,Matplotlib,以下代码用于交互式matplotlib会话,例如ipython--pylab from mpl_toolkits.axes_grid1.inset_locator import mark_inset A = np.random.rand(5, 5) ex = (0, 5, 0, 5) imshow(A, interpolation='nearest', extent=ex) ax = gca() inset_dist = 0.01 inset_width = 0.1 inset_start

以下代码用于交互式matplotlib会话,例如
ipython--pylab

from mpl_toolkits.axes_grid1.inset_locator import mark_inset

A = np.random.rand(5, 5)
ex = (0, 5, 0, 5) 
imshow(A, interpolation='nearest', extent=ex)
ax = gca()

inset_dist = 0.01
inset_width = 0.1
inset_start_right = 0.68
inset_start = inset_start_right - inset_width
def get_ins_start(nr):
  return inset_start - nr * (inset_width + inset_dist)

axins1 = axes([inset_start, .59, inset_width, 0.26])
axins2 = axes([get_ins_start(1.), .59, inset_width, 0.26])
mark_inset(ax, axins1, loc1=1, loc2=2, zorder=10)
mark_inset(ax, axins2, loc1=1, loc2=2, color="red", zorder=20)

axins1.set_xlim((4,5))
axins1.set_ylim(1,2)

axins2.set_xlim((3,4))
axins2.set_ylim(1,2)

axins1.imshow(A, interpolation='nearest', zorder=300, extent=ex)
axins2.imshow(A, interpolation='nearest', zorder=400, extent=ex)
产生这个结果

如您所见,红色插入标记线分层在最右侧的插入图像上。我尝试对命令重新排序,并使用
zorder
参数,但没有任何效果


如何解决此问题?

如果这是关于右侧图像顶部的红线,则可以使用
zorder

axins1 = plt.axes([inset_start, .59, inset_width, 0.26])
axins1.set_zorder(5)


我发现更令人不安的是轴内的图像隐藏了轴棘,这是一个我没有任何解决方案的问题。

非常感谢!我不知道axis物体的zorder。我明白你所说的斧头刺隐藏在图像后面的意思了。我会检查这是否会影响我的情节,如果会,我会提出一个新问题。