Matplotlib 箭袋图

Beginner

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

简介

本实验将指导你如何使用 Python 中的 Matplotlib 创建一个箭袋图。箭袋图以箭头形式显示向量场。它在可视化流体流动、电场和磁场以及其他类型的向量场方面很有用。

虚拟机使用提示

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

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

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

导入库

我们需要导入 numpymatplotlib 库来创建一个箭袋图。

import numpy as np
import matplotlib.pyplot as plt

创建数据

我们需要使用 np.meshgrid() 函数创建 XY 坐标。然后,我们创建表示向量场的 UV 数组。

X = np.arange(-10, 10, 1)
Y = np.arange(-10, 10, 1)
U, V = np.meshgrid(X, Y)

创建箭袋图

我们可以使用 ax.quiver() 函数创建箭袋图。我们将 XYUV 数组作为参数传入。

fig, ax = plt.subplots()
q = ax.quiver(X, Y, U, V)

创建箭袋图的键

我们可以在图中添加一个箭袋图的键,以显示箭头的比例。我们使用 ax.quiverkey() 函数来添加该键。我们传入 q 对象、键的 XY 位置、箭头的长度、键的标签以及标签的位置。

ax.quiverkey(q, X=0.3, Y=1.1, U=10,
             label='Quiver key, length = 10', labelpos='E')

显示图形

我们可以使用 plt.show() 函数来显示图形。

plt.show()

总结

在本实验中,我们学习了如何使用 Python 中的 Matplotlib 创建箭袋图。我们首先导入必要的库,创建数据,然后创建箭袋图。最后,我们在图中添加了一个箭袋图的键并显示了该图。