Use the zorder kwarg http://matplotlib.org/api/artist_api.html#matplotlib.artist.Artist.set_zorder。它控制哪些元素相互重叠。因此,在这种情况下,您需要增加zorder
圈子的。您可能需要尝试才能找到zorder
这会给你你需要的结果,但规则是更高zorder
物体出现在下方的上方zorder
对象。
如果没有任何代码,很难准确地知道,但假设您使用过pcolormesh
, contour
and a Circle
patch,这个例子展示了不设置a的效果zorder
(白色圆圈)和设置zorder=10
(红色圆圈)。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Circle
# Fake data
x = np.arange(100)
y = np.arange(100)
X, Y = np.meshgrid(x, y)
z = X**0.5 * Y**0.5
fig, ax = plt.subplots(1)
ax.set_aspect('equal')
ax.pcolormesh(X, Y, z, cmap='viridis')
ax.contour(X, Y, z, colors='k', linewidths=3)
circ1 = Circle((65, 65), 30, facecolor='None', edgecolor='w', lw=5)
circ2 = Circle((35, 35), 30, facecolor='None', edgecolor='r', lw=5, zorder=10)
ax.add_patch(circ1)
ax.add_patch(circ2)
plt.show()
请注意,白色圆圈位于黑色轮廓线下方,但通过增加zorder
到 10 时,红色圆圈位于等高线的顶部。