Python MayaVi 模块2025年03月17日 | 阅读 9 分钟 我们都可能听说过图形用户界面,即 GUI,并且我们一定在许多应用程序不断变化的界面中看到了它的影响。基本上,GUI 或图形用户界面是一种应用程序和软件的用户界面,它不像基于文本的用户界面和类型化的命令标签那样,允许用户通过音频指示器和图形图标(如符号等)与计算机、智能手机、PC 等进行交互。GUI 以一种方式显示对象和数据,通过其提供的交互式用户界面,我们试图显示的信息可以非常容易地传达。每当用户与应用程序交互时,电子设备上显示的对象会改变其颜色、文本,有时甚至形状。因此,它使用户与电子设备或应用程序的交互变得更加互动和有趣。 我们可以看到 GUI 在当今世界变得多么重要,我们几乎在我们日常生活中使用的每个应用程序中都能找到它的用途。因此,了解如何构建 GUI 并使用它变得更加重要。大多数编程语言都为我们提供了借助其内置库或相关扩展创建交互式 GUI 的选项。但 Python 是所有这些编程语言中最受欢迎的选择之一,因为它提供了多个库,通过这些库我们可以轻松创建 GUI。在 Python 中,我们有许多内置模块和一些可安装模块,我们可以使用这些模块的功能在程序中创建交互式 GUI。其中一个 Python 模块是 MayaVi 模块,我们将在本教程中学习它。我们将在本教程中了解 MayaVi 教程、如何安装它、它的功能以及更多信息。 Python 中的 MayaVi 模块MayaVi 是一个用于可视化科学数据的 Python 模块,它使用 VTK 来可视化数据。除此之外,MayaVi 模块还提供了借助 Tkinter 库开发 GUI 的选项。MayaVi 模块目前是免费的,并根据 BSD 许可证分发,由 Prabhu Ramchandran 开发,它被发音为一个单词,“Ma-ya-vee”,在英语中意为“神奇”。MayaVi 是一个跨平台的 Python 模块(几乎可以在所有平台,如 UNIX、Windows 或 Mac OS X 上运行),它几乎可以在所有同时提供 VTK 和 Python 的平台或操作系统上运行。MayaVi 模块的最新版本 MayaVi2 与原始版本有很大不同,因为最新版本是 Enthought 套件的一部分,这是一个用于科学 Python 程序的套件。使 MayaVi 模块的最新版本与原始版本不同的另一个原因是,它通过 Python 程序提供了可重用的 3D 绘图组件,而不仅仅关注交互式程序(这是以前版本中缺少的功能)。尽管 MayaVi 模块的最新版本与以前版本相比界面和 API 略有不同,但它具有许多以前版本中缺少的新功能。 Python 中的 MayaVi 模块:愿景MayaVi 模块在开发时,其愿景是提供科学和其他数据的交互式可视化,但这并不是开发 MayaVi 模块的唯一目的。开发 MayaVi 模块背后还有其他一些愿景,我们将在本节中探讨所有这些愿景。 以下是构建 Python MayaVi 模块的愿景
这些是开发 MayaVi 模块的主要原因,或者我们可以将其视为愿景。 Python 中的 MayaVi 模块:一般特性和功能正如我们在 MayaVi 模块的介绍部分所看到的,这个模块为我们提供了多种函数,可以非常容易地可视化科学数据。但这并不是 MayaVi 模块的唯一特性,使其在所有科学数据可视化模块中脱颖而出。它还具有其他一些特性,使该模块在短时间内非常受欢迎,我们将在本节中讨论该模块的这些特性和功能。以下是 MayaVi 模块的一般特性和突出功能:
这些是 MayaVi 模块的一些一般特性和突出功能,当我们浏览这个列表时,我们会发现为什么这个 MayaVi 模块在短时间内如此受欢迎。除了上面列出的功能之外,MayaVi 模块还可以作为任何应用程序和数据(通过其最新发布的 Mayavi2)的可视化引擎。 Python 中的 MayaVi 模块:功能MayaVi 库用于执行多种功能,例如科学数据可视化、开发图形用户界面、开发 2D 和 3D 图形等,通过在 Python 程序中导入此模块。我们可以借助 MayaVi 模块或在程序中同时使用 Mayavi 和其他一些模块来执行所有这些功能,但对于本教程,我们只会学习使用 MayaVi 模块构建图形用户界面。我们将使用 MayaVi 模块和其他一些模块(稍后讨论)通过 Python 程序构建 GUI。 Python 中的 MayaVi 模块:安装MayaVi 不是 Python 的内置模块,不随 Python 扩展预安装,因此,如果要在 Python 程序中使用和导入此模块,我们必须在系统中安装它。MayaVi 模块的安装非常简单,可以通过多种方法完成,包括通过 conda 方法、通过 Jupyter Notebook 方法、通过 pip 方法等等。但在本教程中,我们将仅使用 pip 安装器方法执行 MayaVi 模块的安装,并使用终端 shell 中的以下 pip 命令安装此模块: 我们必须打开系统的命令提示符终端,并在其中写入上述命令,然后按回车键开始 MayaVi 模块的安装过程。当我们按下回车键时,MayaVi 模块的安装过程将开始,并且需要一段时间才能在我们的系统中成功安装 MayaVi 模块。因为 Mayavi 模块带有多个扩展和库函数,它们将随之下载并安装到我们的系统中,并且 pip 也会为其构建一个 wheel。 ![]() 如我们所见,MayaVi 模块已成功安装在我们的系统中,现在我们可以通过将其导入 Python 程序来开始使用此模块。 注意:由于我们要在本教程中使用 MayaVi 模块构建 GUI,我们还需要 NumPy 和 SciPy 模块来执行此实现。在进一步进行 MayaVi 模块的实现部分之前,我们应该确保 SciPy 和 NumPy 模块都已安装在我们的系统中。如果 SciPy 和 NumPy 模块不存在于我们的系统中,我们可以在命令提示符终端中使用以下 pip 安装程序命令将它们安装到我们的系统中:(i) SciPy 模块的安装 ![]() 此模块已存在于我们的系统中,这就是为什么它在这里显示要求已满足,如果此模块不存在于系统中,此命令将安装它。 (ii) NumPy 模块的安装 ![]() 此模块已存在于我们的系统中,这就是为什么它在这里显示要求已满足。 我们已经安装了 MayaVi 模块实现部分所需的所有模块,因此现在我们可以继续进行实现部分。 Python 中的 MayaVi 模块:实现在实现部分,我们将只使用 MayaVi 模块来实现其 GUI 构建功能,并通过它构建球面谐波函数的可视化。我们将在一个示例程序中使用 MayaVi 模块,通过在输出中为其绘制图形用户界面来理解球面谐波函数的可视化。我们还将使用 SciPy 和 NumPy 模块进行科学计算和在程序中使用三角函数。我们可以查看以下示例程序,了解 MayaVi 模块与 NumPy 和 SciPy 模块的实现。 示例 查看以下具有球面谐波函数可视化的 Python 程序 输出 ![]() 如我们所见,球面谐波的可视化已在输出中以指定的尺寸、值和特征绘制出来。 说明 我们首先在程序中导入了 scipy、numpy 和 mayavi 模块。首先,我们从 numpy 模块中导入了 linspace、meshgrid、array、sin、cos、pi 和 abs 函数,然后我们从 scipy 模块中导入了 sph_harm 函数并将其重命名为 sh,最后,我们从 mayavi 模块中导入了 mlab 并将其重命名为 ml,用于可视化球面谐波运动。 之后,我们使用 linspace() 函数在 OneDTheta 和 OneDPhi 变量中定义了 1D 角度。之后,我们使用 meshgrid() 函数中的 OneDTheta 和 OneDPhi 角度定义了 2D 角度,并初始化了 TwoDTheta 和 TwoDPhi 变量。 之后,我们定义了一个数组,并在数组内部使用了 sin 和 cos 恒等式以及我们之前定义的 2D 角度。接下来,我们使用整数值定义了 length 和 measurement 变量,然后我们在 sph_harm() 函数内部使用了 2D 角度、length 和 measurement 值。 之后,我们初始化了 radius 变量,使用 abs() 函数定义球体的半径。接下来,我们使用 figure() 函数定义图形的尺寸,之后,我们使用 mesh() 函数指定输出中绘制的图形的半径和颜色。 然后,我们使用 view() 函数设置球面谐波的可视化,并使用 savefig() 将图形保存为指定格式。最后,我们使用 show() 函数在输出中显示可视化。 |
栈是遵循后进先出 (LIFO) 原则的线性数据结构,该原则规定最新添加的项是第一个被删除的项。栈的基本命令是“push”、“pop”、“peek”(或 top)和“isEmpty”。链表中每个栈元素...
5 分钟阅读
人工神经网络 (ANN) 是数据科学中最前沿的机器学习模型。它们的性能神秘地令人惊叹,即使只有一个隐藏层,它们也能以任何所需的精度近似任何函数。既然如此,为什么还会有人选择其他模型呢?
阅读9分钟
在下面的教程中,我们将了解如何混淆 Python 程序。我们将使用一个名为 pyarmor 的 Python 包进行混淆。我们有时可能会遇到这样一种情况,即由于某些原因,我们必须将代码直接交付给客户。但是,我们...
阅读 4 分钟
猴子补丁 (Monkey Patching) 是 Python 中一个令人兴奋的话题。猴子补丁是指在运行时修改类或模块。简单来说,类或模块的功能可以在运行时改变。让我们通过一个真实的例子来理解这个概念。当我们...
阅读 2 分钟
人工神经网络学习已成功用于学习实值、离散值或向量值函数,包括不同类型的特征景观、语音识别和学习机器人控制技术等问题。人工神经网络学习对训练数据中的错误具有抵抗力。生物学上由...组成这样的发现
阅读 4 分钟
Python 允许文件操作(创建、保存、读取、写入、删除文件等等)。Python 简化了多种文件格式的保存,并保存了多种文件格式。JSON 是 JavaScript 对象表示法。数据通过基于文本的计算机语言脚本(可执行)文件存储和发送。Python 的 json 模块支持 JSON。JSON...
阅读 3 分钟
什么是枚举?Python 中的枚举("enumeration" 的缩写)是表示一组唯一常量值的符号名称。它允许您定义一组相关值,与使用普通整数或字符串相比,这些值更具可读性和可维护性。枚举...
5 分钟阅读
一个变位词是指通过重新排列另一个单词或短语的字母而形成的单词或短语。例如,单词“listen”是“silent”的变位词,“fired”是“fried”的变位词,反之亦然。给定两个字符串,问题是找出...
阅读9分钟
Python 是一种功能极其丰富的编程语言,被许多大公司采用。它语法简单易懂,非常适合那些初次尝试掌握计算机编程的人。它是一种高级编程语言。其基本设计原则是关于...
5 分钟阅读
这篇文章将演示如何使用 PyQt5 构建一个颜色游戏。在这个游戏中,玩家必须正确识别所给单词的颜色,以获得最高分。为了进一步迷惑玩家,文本将有多种...
阅读 8 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India