This is what the zorder is used for. Artists should have
> a zorder attribute. The higher the zorder, the more in
> front an object is. I think they all default to 1.
Different types of "Artists" have different default zorders
In [2]: from matplotlib.patches import Patch
In [3]: from matplotlib.lines import Line2D
In [4]: Line2D.zorder
Out[4]: 2
In [5]: Patch.zorder
Out[5]: 1
So by default lines appear above patches....
See also examples/zorder_demo.py.
JDH