我有一个关于在我的图中添加阴影的问题。我需要如下图所示着色所有子图,如何在Python中执行此操作?
答案 0 :(得分:1)
您可以在clip_on=False
中设置Rectangle patch
,使其超出轴边界。
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import numpy as np
fig,ax=plt.subplots(2,1)
x=np.linspace(0,np.pi*2,50)
ax[0].plot(x,np.sin(x),'b-')
ax[1].plot(x,np.sin(x),'b-')
rect=mpatches.Rectangle([0.35,0.1], 0.1, 0.8,
ec='k', fc='g', alpha=0.5, clip_on=False, transform=fig.transFigure)
ax[1].add_patch(rect)
fig.savefig('figure.png')
注意:在第一个轴上设置矩形会使它落后于第二个轴,除非您想手动更改两个轴的zorder。