Python Matplotlib fill_之间

Python Matplotlib fill_之间,python,python-2.7,pandas,matplotlib,Python,Python 2.7,Pandas,Matplotlib,我试图使用熊猫系列值来填充之间的值,但它不起作用。'DAY'字段是字符串日期格式,类似于'%Y-%m-%d' df_tmp类似: MEDIA_B2W MEDIA_CONC UPPER_BOUND LOWER_BOUND DAY 2017.48 2512.55 2811.0 1924.0 2017-01-01 1999.38 2512.55 2811.0 1924.0 2017-01-02 193

我试图使用熊猫系列值来填充之间的值,但它不起作用。
'DAY'
字段是字符串日期格式,类似于
'%Y-%m-%d'

df_tmp
类似:

MEDIA_B2W  MEDIA_CONC  UPPER_BOUND  LOWER_BOUND     DAY
2017.48     2512.55       2811.0       1924.0       2017-01-01
1999.38     2512.55       2811.0       1924.0       2017-01-02
1930.89     2512.55       2811.0       1924.0       2017-01-03

df_tmp[['UPPER_BOUND','LOWER_BOUND','MEDIA_CONC','MEDIA_B2W','DAY']].plot(
                 x='DAY',ax=ax[0],grid=True,style=['r-','b-','y--','g-o'])

ax[0].fill_between(df_tmp.index,df_tmp['UPPER_BOUND'], df_tmp['LOWER_BOUND'],
                    facecolor='green', alpha=0.2, interpolate=True)
我想在颜色的上下限之间。 这是


曲线图中只显示线条。

此解决方案使用
df
索引表示x刻度,然后对时间序列进行交换

df = df[['UPPER_BOUND','LOWER_BOUND','MEDIA_CONC','MEDIA_B2W','DAY']]

ax = df.plot(x=df.index, grid=True, style=['r-','b-','y--','g-o'])
ax.fill_between(df.index, df.LOWER_BOUND, df.UPPER_BOUND,
                facecolor='green', alpha=0.2, interpolate=True)

# replace index values with dates
ax.set_xticks(df.index)
ax.set_xticklabels(df.DAY)

# cosmetic adjustments
pad = 700
ax.set_ylim([df.LOWER_BOUND.min()-pad, df.UPPER_BOUND.max()+pad])

或者,您可以将
日期设置为
df.index

df.DAY = pd.to_datetime(df.DAY)
df = df.set_index('DAY')

ax = df.plot(grid=True, style=['r-','b-','y--','g-o'])
ax.fill_between(df.index, df.LOWER_BOUND, df.UPPER_BOUND,
                facecolor='green', alpha=0.2, interpolate=True)

# cosmetic adjustments
pad = 700
_=ax.set_ylim([df.LOWER_BOUND.min()-pad, df.UPPER_BOUND.max()+pad])

您能否展示您的绘图,并解释它与您希望得到的不同之处?最好还包括几行
df_tmp
可能的