gnuplot简介
gnuplot是一个历史悠久的绘图软件,跨平台,特别适合于数据处理,支持非常多种类的格式输出。根据我的理解,它至少能做:
1. 常见的数学函数绘制,比如sin(x), cos(x), log(x)等等, 相信最简单的一条绘图命令应该是
不要怀疑这里的x没有定义,因为gnuplot中横坐标默认是x, 绘坐标默认是y
2. 从文件中读取数据,然后绘制离散图
plot "datafile" using 1:2 |
这句命令的意思是:以数据文件中的第一列为横坐标,第二列为绘坐标,绘制散点图(默认)。
当然,不只是散点图,也可以是点线,线,而线和点的尺寸和样式也是可以指定的
3. 对数据作一些变换后,再绘出
简单讲,就是能够利用内置的一些函数对读取的数据进行一些处理之后,再输出,比如
plot "datafile" using 1:($2**2) |
这句命令的意思是,仍然使用第一列作为x值,而y值是第二列数据的平方。括号内是一个表达式,对于某列的引用使用$符号。
4. 三维绘图
当然,数据文件也是支持的,如果一个数据文件有3列,
splot "datafile" using 1:2:3 |
你还可以绘制保存矩阵数据的文件,比如存有m行n列个数据的文件,可以这样绘制:
上面的命令得到的是一个基于网格的散点图,x取值为1到m, y取值为1到n, 而z值显然从数据文件中得到。
5. 输出图像
上面提到的命令都是直接在一个界面中绘出图形,这其实是一种终端(linux下是wxt),或称为输出设备。然而,你可以指定为其它终端(比如jpeg, png)。下面的命令可以得到一幅图像:
set terminal jpeg set output "out.jpg" plot sin(x)
|
如果你想查看gnuplot支持哪些终端,你可以
6. 其它特性
其实,上面提到的只是惊鸿一瞥。其它的我所知道的,还包括支持脚本,用户自定义函数,逐点指定颜色,常见图表绘制(直方图,等值线图等等),基本数学函数和复数的支持。总之,gnuplot的作用就是数据的可视化。当然,gnuplot只是一个数据绘制软件,它不能替代数据处理软件和通常的绘图软件。但是,它Doing one thing, and doing it very, very well.
7. 帮助和文档
最根本的材料应该是gnuplot附带的文档,在linux下可以用
另外一本很好的入门书籍是<>
在gnuplot的命令模式下,如下几个命令是常用到的
查看plot的帮助,当然也可以是其它关键字
阅读(2758) | 评论(0) | 转发(3) |