Все, что вам нужно сделать, это предоставить zorder
, чтобы поместить его в фон.В частности, zorder=0
в данном случае для вашего Rectangle
патча.
Думайте о zorder
как о параметре, который решает, что укладывается поверх чего.zorder=0
просто отправит патч наименьший в стеке, что означает самый задний слой графика.
frame = patches.Rectangle(
(-.1,-.1), 1.2, 1.2, transform=ax1.transAxes, alpha=.5, fc='b', fill=True, linewidth=3, color='k'
, zorder=0) # <--- zorder specified here
ax1.set_clip_path(frame) # has no effect
fig.patches.append(frame)
