title: Add labels and vertical line on matplotlib (outside plot area)
body: <p>I have a pandas dataframe similar to:</p>
  <pre><code>df = pd.DataFrame([['1/1/2020',0.1,0.3,'cat1','csv'],\
                    ['1/1/2020',0.4,0.7,'cat1','excel'],\
                    ['1/1/2020',1.7,2.3,'cat2','csv'],\
                    ['2/1/2020',0,0.3,'cat2','csv'],\
                    ['2/1/2020',0.4,0.5,'cat2','csv'],\
                    ['2/1/2020',0.5,0.7,'cat1','csv'],\
                    ['2/1/2020',1.1,1.3,'cat1','excel']],\
                       columns = ['date','start','end','cat','source'])
  </code></pre>
  <p>Each row of the df contains range of values to be colored and the color group (cat). I can plot a graph like the following with the following code:
  plt.figure(figsize=(10,3))</p>
  <pre><code>for i,r in df.iterrows():
      plt.barh(r['date'], width=r['end']-r['start'],
               left=r['start'], color='y' if r['cat']=='cat1' else 'g')
  </code></pre>
  <p><a href="https://i.stack.imgur.com/BJJuz.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/BJJuz.png" alt="enter image description here" /></a></p>
  <p>My issue is, I would like to add zoning details:</p>
  <p><a href="https://i.stack.imgur.com/ppymu.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ppymu.png" alt="enter image description here" /></a></p>