def axhspan(self, ymin, ymax, xmin=<NUM_LIT:0>, xmax=<NUM_LIT:1>, **kwargs):
trans = mtransforms.blended_transform_factory(<EOL>self.transAxes, self.transData)<EOL>self._process_unit_info( [xmin, xmax], [ymin, ymax], kwargs=kwargs )<EOL>xmin, xmax = self.convert_xunits( [xmin, xmax] )<EOL>ymin, ymax = self.convert_yunits( [ymin, ymax] )<EOL>verts = (xmin, ymin), (xmin, ymax), (xmax, ymax), (xmax, ymin)<EOL>p = mpatches.Polygon(verts, **kwargs)<EOL>p.set_transform(trans)<EOL>p.x_isdata = False<EOL>self.add_patch(p)<EOL>return p<EOL>
call signature::

  axhspan(ymin, ymax, xmin=0, xmax=1, **kwargs)

Axis Horizontal Span.

*y* coords are in data units and *x* coords are in axes (relative
0-1) units.

Draw a horizontal span (rectangle) from *ymin* to *ymax*.
With the default values of *xmin* = 0 and *xmax* = 1, this
always spans the xrange, regardless of the xlim settings, even
if you change them, eg. with the :meth:`set_xlim` command.
That is, the horizontal extent is in axes coords: 0=left,
0.5=middle, 1.0=right but the *y* location is in data
coordinates.

Return value is a :class:`matplotlib.patches.Polygon`
instance.

Examples:

* draw a gray rectangle from *y* = 0.25-0.75 that spans the
  horizontal extent of the axes

    >>> axhspan(0.25, 0.75, facecolor='0.5', alpha=0.5)

Valid kwargs are :class:`~matplotlib.patches.Polygon` properties:

%(Polygon)s

**Example:**

.. plot:: mpl_examples/pylab_examples/axhspan_demo.py