首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>软件应用>正文

Linux 上的数据可视化工具

http://www.oklinux.cn  2006-11-29  来源: oklinux收集整理   会员收藏  游客收藏  【 】 
    Linux® 上用来实现数据的图形可视化的应用程序有很多,从简单的 2-D 绘图到 3-D 制图,再到科学图形编程和图形模拟。幸运的是,这方面的工具有很多开放源码实现,包括 gnuplot、GNU Octave、Scilab、MayaVi、Maxima 等。每个工具都有自己的优缺点,并且都是针对不同的应用程序而设计的。对这些开放源码图形可视化工具进行一下探索,有助于我们更好地决定哪个工具最适合我们的应用程序。

可视化工具的简短列表

    在本文中,将对很多流行的 Linux 数据可视化工具进行一下调查,并对其中一些工具进行更深入的探讨。例如,某个工具是否为进行数值计算而提供了一种语言?这个工具是交互式的还是提供了一种批处理模式来单独进行操作?可以使用这个工具进行图像或数字信号处理吗?这个工具是否提供了语言绑定来支持与用户应用程序的集成(例如 Python、Tcl、Java 编程语言等)?另外还将展示一些工具的图形化处理能力。最后,将分析每个工具的长处,从而帮助我们确定哪个工具最适合完成计算任务或数据可视化。

在本文中所探索的开放源码工具包括(同时还给出了每个工具所使用的许可证):

  • Gnuplot(GPL)
  • GNU Octave(GPL)
  • Scilab(Scilab)
  • MayaVi(BSD)
  • Maxima(GPL)

Gnuplot

    Gnuplot 是一个非常好的可视化工具,它从 1986 年开始就存在了。如果没有 gnuplot 的图,就很难阅读论文。尽管 gnuplot 是命令行驱动的,但是它也在不断发展,现在也可以支持很多非交互式的应用程序了,例如它可以作为一个 GNU Octave 的绘图引擎使用。

    gnuplot 具有很好的可移植性,可以在 UNIX®、Microsoft® Windows®、 Mac OS® X 和很多其他平台上运行。它可以支持从 postscript 到新近的 PNG 等极为广泛的输出格式。

    gnuplot 可以以批处理模式进行操作,提供了一个命令脚本来生成一个图形,也是以非交互式模式来运行的,这让我们可以尝试一下它的特性来了解它们绘图的效果。

    在 gnuplot 中有一个对应于 UNIX 的数学库的标准的数学库可以使用。函数的参数支持整型、实型和复型。可以将数学库配置成弧度或角度(默认为弧度)。

    为了进行绘图,gnuplot 可以使用 plot 命令生成 2-D 图形,或使用 splot 命令生成 3-D 图形(作为 2-D projection)。使用 plot 命令,gnuplot 可以在直角二维坐标系中进行操作。splot 命令默认使用的是笛卡儿坐标系,不过也可以支持球面或柱面坐标系。也可以在图形中绘制等高线(如下面的图 1 所示)。有一种新风格的绘图 pm3d 可以支持绘制使用调色板进行映射的 3-D 和 4D 数据作为地图或地表图来使用。

    下面是一个简单的 gnuplot 例子,它给出了一个具有等高线和隐线消除的 3-D 图形。清单 1 给出了所使用的 gnuplot 命令,图 1 给出了所生成的图形结果。


清单 1. 简单的 gnuplot 函数图
set samples 25
set isosamples 26
set title "Test 3D gnuplot"
set contour base
set hidden3d offset 1
splot [-12:12.01] [-12:12.01] sin(sqrt(x**2+y**2))/sqrt(x**2+y**2)

    清单 1 充分显示了 gnuplot 的命令集是多么简单。采样速度和绘图密度是由 samples 和 isosamples 决定的,标题是由 title 参数为图形提供的。同时还启用了基本的等高线和隐线消除特性,最终的绘图是利用 splot 命令使用数学库内部的函数来创建的。结果如图 1 所示。


图 1. gnuplot 的一个简单绘图
gnuplot 的一个简单绘图

    除了创建函数图之外,gnuplot 还可以很好地对文件中包含的图形进行绘图。考虑如清单 2 所示的 x/y 数据对(这个文件的一个简短版本)。这个文件中给出的数据对表示一个两维空间中的 x 和 y 轴的数据。


清单 2. gnuplot 的示例数据文件(data.dat)
88 99
79 98
76 89
60 85
...
60 22

  如果希望在两维空间中绘制这些数据,并将每个数据点使用一条线连接起来,就可以使用清单 3 给出的 gnuplot 脚本。


清单 3. 对清单 2 中的数据进行绘图所使用的 Gnuplot 脚本
set title "Sample data plot"
plot 'data.dat' using 1:2 t 'data points', \
  "data.dat" using 1:2 t "lines" with lines

    结果如图 2 所示。注意 gnuplot 自动给出了轴的刻度,但是如果需要标注图形的位置,就可以对其进行控制。


图 2. 在 gnuplot 中使用数据文件进行简单的绘图
在 gnuplot 中使用数据文件进行简单的绘图

   Gnuplot 是一个很好的可视化工具,它非常出名,是很多 GNU/Linux 发行版的一部分。然而,如果希望进行基本的数据可视化和数值计算,那么 GNU Octave 可能是我们希望寻找的工具。

 

[1] [2] [3] [4] 下一页  

共8页: 上一页 1 [2] [3] [4] [5] [6] [7] [8] 下一页

上一篇:使用指南:好用的播放器mpd   下一篇:RSYNC ON FreeBSD 5.2 HOWTO V1.0


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·使用指南:好用的播放器mpd
·RSYNC ON FreeBSD 5.2 HOWTO V1.0
·使用 freeVSD强化您的开发环境
·Linux 的魅力: MediaMVP 内幕
·在Linux上仿真老式操作系统
·用Geronimo部署blog 和wiki 模块
·在FREEBSD 5中使用MRTG画图
·Linux 的版本控制
·运行于Linux/390中的实用软件Webmin
·在FreeBSD4.x中制作启动菜单
·嵌入式Linux 中的应用中的GTK+
·运行于Linux/390中的实用编辑软件xedit
·对远程数据同步工具Rsync的一些了解
·Linux的语音识别软件
·vi 文字处理软件
·使用自由软件Rexx 的实现来编写脚本
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux系统下源码阅读工具ctags+vim
·Linux操作系统维护常用工具Sysstat介绍
·Tcpdump:Linux下基于命令行的抓包工具
·Ubuntu Linux系统下的两个网络扫描工具
·Linux系统的股票行情分析软件
·在Linux操作系统下安装杀毒软件AntiVir
·Linux系统下一款比较易用的截图工具
·Excel电子表格导出TXT在Linux下无法显
·如何才能解决Scim和Skype之间的冲突问
·使VMware下的Ubuntu支持鼠标滚轮的方法
·Wine:Linux系统上运行Windows程序的平
·Linux系统下Matlab的安装设置
  阅读排行
·基于libmad 的简单MP3流媒体播放器的实
· Oracle 10g for ubuntu 安装指南
·Wine的安装配置
·一步一步安装服务器监视软件MRTG
· Samba使用大全 Samba服务器应用介绍
·用Geronimo部署blog 和wiki 模块
·嵌入式Linux 中的应用中的GTK+
·Linux 的版本控制
· 下BT聊QQ !PS3安装Linux ubuntu 7.10
·充分利用Linux操作系统安全防护工具
·Linux下tar bz gz等压缩包的压缩和解压
·使用自由软件Rexx 的实现来编写脚本
·在Linux上仿真老式操作系统
·制作在软盘上跑的Linux引导器详细过程
·Linux 的魅力: MediaMVP 内幕
网摘收藏: