图 6. 图 5 中的命令所生成的 Scilab 图 Scilab 中包括很多库和函数,它们可以使用最少的复杂性来绘制图形。下面是一个生成简单三维柱状图的例子: -->hist3d(5*(rand(5,5)); 首先,rand(5,5) 会构建一个 5,5 大小的矩阵,其中包含了一些随机值(其最大值为 5)。这个矩阵被传递给函数 hist3d。所生成的柱状图如图 7 所示。 图 7. 生成随机的三维柱状图 Scilab 和 Octave 非常类似。它们都具有很大的社区参与基础。Scilab 是使用 Fortran 77 编写的,而 Octave 则是使用 C++ 编写的。Octave 使用 gnuplot 来实现可视化;Scilab 则提供了自己的库。如果非常熟悉 Matlab,那么 Octave 就是一个很好的选择,因为它努力实现了与 Matlab 的兼容性。Scilab 包括了很多数学函数,因此非常适合进行信号处理。如果仍然不确定要使用哪个工具,可以全部尝试一下。它们都是很好的工具,可以使用它们来完成不同的任务。
MayaVi MayaVi 在梵语中的意思是魔术师,它是一种数据可视化工具,绑定了具有强大可视化工具包(VTK)的 Python 来进行图形化显示。MayaVi 还提供了一个使用 Tkinter 模块开发的图形用户界面(GUI)。Tkinter 是一个 Tk 界面,通常都与 Tcl 一起使用。 MayaVi 最初是为 Computational Fluid Dynamics(CFD)作为一个可视化工具而开发的。当人们认识到它在其他领域中的效用之后,它就作为一种通用科学数据可视化工具重新进行了设计。 MayaVi 背后的魔力来自于 VTK。VTK 是一个用来进行数据可视化和图像处理的开放源码系统,它在科学社区中被广泛地使用。VTK 通过为 Tcl/Tk、Java 编程语言以及 Python 加上 C++ 库所提供的脚本化接口而封装了很多功能。VTK 在很多操作系统上都是可移植的,包括 UNIX、Windows 和 MAC OS X。 围绕 VTK 的 MayaVi 外壳可以作为一个 Python 模块从其他 Python 程序中导入,并通过 Python 解释器来编写脚本。MayaVi 所提供的 tkinter GUI 允许进行过滤器的配置和应用,以及在可视化基础上渲染一些灯光效果。 图 8 是在 Windows 平台上使用 MayaVi 进行可视化的一个例子。 图 8. 使用 MayaVi/VTK 显示的 3-D 可视化(心脏 CT 扫描图) MayaVi 是在 Python 脚本语言中扩展 VTK 的一个有趣例子。
|