复合路径

制作复合路径 - 在这种情况下是两个简单的多边形,一个矩形和一个三角形。使用 CLOSEPOLYMOVETO 作为复合路径的不同部分。

  1. import numpy as np
  2. from matplotlib.path import Path
  3. from matplotlib.patches import PathPatch
  4. import matplotlib.pyplot as plt
  5. vertices = []
  6. codes = []
  7. codes = [Path.MOVETO] + [Path.LINETO]*3 + [Path.CLOSEPOLY]
  8. vertices = [(1, 1), (1, 2), (2, 2), (2, 1), (0, 0)]
  9. codes += [Path.MOVETO] + [Path.LINETO]*2 + [Path.CLOSEPOLY]
  10. vertices += [(4, 4), (5, 5), (5, 4), (0, 0)]
  11. vertices = np.array(vertices, float)
  12. path = Path(vertices, codes)
  13. pathpatch = PathPatch(path, facecolor='None', edgecolor='green')
  14. fig, ax = plt.subplots()
  15. ax.add_patch(pathpatch)
  16. ax.set_title('A compound path')
  17. ax.autoscale_view()
  18. plt.show()

复合路径示例

参考

此示例中显示了以下函数,方法,类和模块的使用:

  1. import matplotlib
  2. matplotlib.path
  3. matplotlib.path.Path
  4. matplotlib.patches
  5. matplotlib.patches.PathPatch
  6. matplotlib.axes.Axes.add_patch
  7. matplotlib.axes.Axes.autoscale_view

下载这个示例