Compound path

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

import matplotlib.pyplot as plt

from matplotlib.patches import PathPatch
from matplotlib.path import Path

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()
../../../_images/8d7b8eea2b11bd745f0e36bbd458d69242ff9e401d86735a3c503ba526e8fd3b.png

… 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