>>> """
=============
Compound path
=============
Make a compound path -- in this case two simple polygons, a rectangle
and a triangle. Use ``CLOSEPOLY`` and ``MOVETO`` for the different parts of
the compound path
"""
...
... from matplotlib.path import Path
... from matplotlib.patches import PathPatch
... import matplotlib.pyplot as plt
...
... vertices = []
... codes = []
...
... codes = [Path.MOVETO] + [Path.LINETO]*3 + [Path.CLOSEPOLY]
... vertices = [(1, 1), (1, 2), (2, 2), (2, 1), (0, 0)]
...
... codes += [Path.MOVETO] + [Path.LINETO]*2 + [Path.CLOSEPOLY]
... vertices += [(4, 4), (5, 5), (5, 4), (0, 0)]
...
... path = Path(vertices, codes)
...
... pathpatch = PathPatch(path, facecolor='none', edgecolor='green')
...
... fig, ax = plt.subplots()
... ax.add_patch(pathpatch)
... ax.set_title('A compound path')
...
... ax.autoscale_view()
...
... plt.show()
...
... #############################################################################
... #
... # .. admonition:: References
... #
... # The use of the following functions, methods, classes and modules is shown
... # in this example:
... #
... # - `matplotlib.path`
... # - `matplotlib.path.Path`
... # - `matplotlib.patches`
... # - `matplotlib.patches.PathPatch`
... # - `matplotlib.axes.Axes.add_patch`
... # - `matplotlib.axes.Axes.autoscale_view`
...