Python 带阴影区域的折线图

Python 带阴影区域的折线图,python,Python,我试图制作一个折线图,同时用阴影区域表示异常情况(本例中为衰退)。比率是折线图的变量。我创建了一个虚拟变量,normal,以指示它是否正常。当normal=1时,我希望条形图每个周期都是灰色的,类似于 这是到目前为止我的代码。这与我想要的大不相同。我想知道是否有人能帮我 df = pd.DataFrame({ 'rate' : [90,40,30,30,30,25,25,20,15,10], 'group' : [1,2,3,4,5,6,7,8,9,10], 'normal' : [1,0

我试图制作一个折线图,同时用阴影区域表示异常情况(本例中为衰退)。
比率
是折线图的变量。我创建了一个虚拟变量,
normal
,以指示它是否正常。当
normal=1
时,我希望条形图每个周期都是灰色的,类似于

这是到目前为止我的代码。这与我想要的大不相同。我想知道是否有人能帮我

df = pd.DataFrame({
 'rate' : [90,40,30,30,30,25,25,20,15,10],
 'group' : [1,2,3,4,5,6,7,8,9,10],
 'normal' : [1,0,0,0,0,1,0,1,0,0]})

ax = df[['group','rate']].plot()
df[['group','normal']].plot(kind = 'bar',secondary_y = True, ax = ax)
plt.show() 

IIUC,根据您链接的问题,您可以找到
值,其中
正常==1
,然后使用
ax.vline
在每个点上画一条粗线。例如:

ax = df.set_index('group')['rate'].plot()
x = df.loc[df.normal == 1, 'group']
for i in x:
    ax.axvline(i, color='gray', alpha = 0.5, linewidth=30)

plt.show()