创建 Matplotlib PathPatch 对象

Beginner

This tutorial is from open-source community. Access the source code

简介

Matplotlib 是一个 Python 库,它允许用户创建不同类型的图表。它用于数据可视化和数据分析。在本实验中,我们将学习如何使用 Matplotlib 的 API 创建一个 PathPatch 对象。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。

导入库

我们需要为本实验导入所需的库。

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.path as mpath

定义路径数据

在这一步中,我们定义路径数据。路径数据是一系列元组,用于指定路径的顶点和代码。我们使用 mpath.Path 类根据这些数据创建一个路径对象。

Path = mpath.Path
path_data = [
    (Path.MOVETO, (1.58, -2.57)),
    (Path.CURVE4, (0.35, -1.1)),
    (Path.CURVE4, (-1.75, 2.0)),
    (Path.CURVE4, (0.375, 2.0)),
    (Path.LINETO, (0.85, 1.15)),
    (Path.CURVE4, (2.2, 3.2)),
    (Path.CURVE4, (3, 0.05)),
    (Path.CURVE4, (2.0, -0.5)),
    (Path.CLOSEPOLY, (1.58, -2.57)),
    ]
codes, verts = zip(*path_data)
path = mpath.Path(verts, codes)

创建 PathPatch 对象

在这一步中,我们使用上一步创建的路径对象创建一个 PathPatch 对象。这个对象用于填充路径所包围的区域。我们还可以设置补丁的颜色和透明度。

patch = mpatches.PathPatch(path, facecolor='r', alpha=0.5)

将 PathPatch 添加到绘图中

现在,我们使用轴对象的 add_patch 方法将补丁对象添加到绘图中。

fig, ax = plt.subplots()
ax.add_patch(patch)

绘制控制点和连接线

在这一步中,我们使用轴对象的 plot 方法绘制路径的控制点和连接线。

x, y = zip(*path.vertices)
line, = ax.plot(x, y, 'go-')

自定义绘图

最后,我们通过添加网格和使坐标轴等比例来自定义绘图。

ax.grid()
ax.axis('equal')
plt.show()

总结

在这个实验中,我们学习了如何使用 Matplotlib 的 API 创建一个 PathPatch 对象。我们定义了路径数据,创建了一个 Path 对象,并使用它创建了一个 PathPatch 对象,然后将其添加到绘图中。我们还绘制了路径的控制点和连接线,并通过添加网格和使坐标轴等比例来自定义绘图。