主要介绍一下 Linux 中的 Gnuplot Graphviz 套件,主要用于画图。
Ggnuplot 是一个命令行驱动的绘图工具,可将数学函数或数值资料以平面图或立体图的形式画在不同种类终端机或绘图输出装置上,是由 Colin Kelley 和 Thomas Williams 于 1986 年开发的绘图程序发展而来的,可以在多个平台下使用。
graphviz 是贝尔实验室开发的一个开源的工具包,它使用一个特定的 DSL(领域特定语言) dot 作为脚本语言,然后使用布局引擎来解析此脚本,并完成自动布局。该软件包提供丰富的导出格式,如常用的图片格式,SVG、PDF 格式等。
在此介绍一下常见的使用方法。
graphviz 的设计初衷是对有向图/无向图等进行自动布局,开发人员使用 dot 脚本定义图形元素,然后选择算法进行布局,最终导出结果。
该软件中包含了众多的布局器:
默认 CentOS 是安装了 dot 以及 graphviz,可以直接使用。
dot 可以用来表示有向图 (->) 以及无向图 (–),每个节点使用不同的属性,例如颜色、形状、线形等。最简单的示例如下。
graphviz 使用三种对象 node、edge、graph 来描述一个图,一个节点的 shape 定义了顶点的形状,代表类型有这么几种:1) 多边形类型;2) 纯文本类型; 3) 基于记录类型。
相关示例可以参考 Drawing graphs with dot,或者 本地文档 。
现在有很多的科学作图软件,如 Windows 平台上的 Origin、Tecplot、SigmaPlot 等,*NIX 平台上的 LabPlot、gnuplot 等,其它的计算软件如 Matlab、Mathematica、Maple、Scilab、IDL、Maxima 等对科学作图也有很好的支持。
而 gnuplot 是典型的 UNIX 哲学的产物,小巧、灵活、擅长与其他工具协同;既支持命令行交互模式,也支持脚本。
如下两个就是通过 gnuplot 绘制的图片。
在 CentOS 中,可以直接通过 yum install gnuplot 安装即可。
包括了输出文件的格式,输出的步骤。
eps 为 LaTeX 的常用图片格式,支持高质量的矢量图形,并且可以方便转换为 pdf、svg 等其它常用格式。如上是将输出设置为有色、采用实线、设置为 2 倍线宽、且字体采用 “Helvetica” 20 号字体。
另外,对于字体常用的还有 Times-Roman、Arial、Courier (等宽字体)、Symbol (希腊字母)。
with 子句可以详细而精确地指定线的样式。
Graphviz - Graph Visualization Software 官方网站,其中的文档中包括了在 C 语言中使用。
详细可以参考官方文档 gnuplot homepage,其示例可以查看 www.gnuplotting.org,其中的动态图片示例可以参考 www.gnuplotting.org 。
This Site was built by Huang Yongyao, generated with Jekyll, and is hosted on GitHub Pages
©2012-2017 – Huang Yongyao