import matplotlib.patches as patches
df2 = pd.melt(
data2.query('worktype_id!=38')[['period','worktype', 'utilization_billable', 'utilization' ]],
id_vars=['period', 'worktype']).sort_values(['period', 'variable'], ascending=[True, True])
g = sns.relplot(x='period', y='value',
hue='variable', data=df2, col='worktype', kind='line', col_wrap=4,
)
for ax in g.axes:
ax.axhline(y=75, color='g', linestyle='--')
ax.axhline(y=90, color='r', linestyle='--')
rect = plt.Rectangle((10,10),10,10,linewidth=3,edgecolor='r',facecolor='red', alpha=1)
ax.add_patch(rect)
我想在y = 75到90(图表上的绿色和红色线)之间绘制框,但是当我执行ax.add_patch时什么也没显示
这是我得到的图像:
那么,如何填充红色和绿色水平线之间的区域?
最佳答案
如果您有固定的区域要填充,并且要在整个图表中进行填充,则最好使用axvspan
。例如。
ax.axvspan(75, 90, facecolor='red')