linux中使用gnuplot
你会用吗?Linux五大数据可视化工具()
你会用吗?Linux五大数据可视化工具(2)Linux上用来实现数据的图形可视化的应用程序有很多,从简单的2-D 绘图到3-D 制图,再到科学图形编程和图形模拟。
幸运的是,这方面的工具有很多开放源码实现,包括gnuplot、GNU Octave、Scilab、MayaVi、Maxima 等。
每个工具都有自己的优缺点,并且都是针对不同的应用程序而设计的。
对这些开放源码图形可视化工具进行一下探索,有助于我们更好地决定哪个工具最适合我们的应用程序。
AD:GNU OctaveGNU Octave 是一种高级语言,主要设计用来进行数值计算,它是MathWorks 出品的Matlab 商业软件的一个强有力的竞争产品。
除了gnuplot 所提供的简单命令集之外,Octave 还为进行数学编程提供了一种丰富的语言。
我们甚至可以使用 C 或C++ 语言编写自己的应用程序,然后与Octave 进行交互。
Octave 最初是在1992 年作为化学反应堆设计教科书的一个辅助软件而编写的。
其作者希望能够帮助学生解决反应堆的设计问题,而不用调试Fortran 程序。
结果获得了一种非常有用的语言,并为解决数值问题提供了交互式环境。
Octave 可以以一种脚本化模式非交互地进行操作,或者通过 C 和C++ 语言绑定进行操作。
Octave 本身就有一种非常丰富的语言,该语言看起来与 C 语言非常类似,并有一个很大的数学库,包括信号和图像处理、音频处理以及控制理论所使用的一些特殊函数。
由于Octave 使用了gnuplot 作为其后端实现,因此使用gnuplot 可以绘制的所有东西都可以使用Octave 进行绘制。
Octave 的确有一种更丰富的语言来进行计算,它有很多明显的优点,但是仍然有gnuplot 的一些限制。
在下面这个Octave-Forge Web 站点上提供的例子中(SimpleExamples),绘制了一个Lorentz Strange Attractor。
Linux环境下stamps操作说明
以下由广西善图科技有限公司发布,该公司是一家集遥感数据获取、深度加工、遥感信息提取及解译、行业应用、软件服务、解决方案为一体的高新技术企业。
Linux环境下stamps操作说明一软件安装:环境为ubuntu 16.041)安装插件:sudo apt-get install gawk gcc g++ make tcsh2)安装插件 sudo apt-get install csh3)doris 安装:安装包为doris_v406beta2,解压以后复制到/home/sentinel/Documents/文件夹:i.安装fftwcd /home/sentinel/Documents/ubuntuprog/doris_v406beta2/fftw-3.3.6-pl2bash ./configure --prefix=`pwd` --enable-float --host=x86_64makemake install安装过程中注意:libfftw3f.a 的路径选择为/home/sentinel/Documents/ubuntuprog/doris_v406beta2/fftw-3.3.6-pl2/libfftw3.h 路径选择为:/home/sentinel/Documents/ubuntuprog/doris_v406beta2/fftw-3.3.6-pl2/include/fftw3.hii.安装doriscd /home/sentinel/Documents/ubuntuprog/doris_v406beta2/src./configure===> What is your C++ compiler? [g++] y===> Do you have the FFTW library (y/n)? [n]y===> What is the path to the FFTW library (libfftw3f.a)? []/home/sentinel/Documents/ubuntuprog/doris_v406beta2/fftw-3.3.6-pl2/lib ===> What is the path to the FFTW include file (fftw3.h)? [/usr/include] /home/sentinel/Documents/ubuntuprog/doris_v406beta2/fftw-3.3.6-pl2/include===> What is the path to the FFTW library?/home/sentinel/Documents/ubuntuprog/doris_v406beta2/fftw-3.3.6-pl2/include===> Do you have the VECLIB library (y/n)? [n]n===> Do you have the LAPACK library (y/n)? [y]Using default: n===> What is the path to the LAPACK library liblapack.a? [/lib]/libChecking whether you have FORTRAN LAPACK library:FORTRAN===> Are you working on a Little Endian (X86 PC, Intel) machine (y/n)?[y]y===> Do you want to compile a more verbose DEBUG version (y/n)? [n] n ===>Installation of Doris in directory: /usr/local/bin (y/n)? [y] ymakesudo make install此处可能出现问题:strcat(name_,'\0');根据错误找到文件,将strcat(name_,'\0');修改为name_[9]=’\0’;bk_messages.hh文件中将文件中ifndef和endif这两句删掉iii.安装 SARtools$cd /home/sentinel/Documents/ubuntuprog/doris_v406beta2/SARtools$make$sudo make install若遇到问题:argv[optind]== ‘0’ ,将其改为argv[optind]== 0iv.ENVISAT_TOOLS、getorb、GMT 的安装(可安可不安),安装包中有。
利用Gnuplot简单实现性能指标分析图
利用 Gnuplot 简单实现性能指
标分析图
生成性能指标报告
生成性能指标步骤:
1.通过linux命令实时收集性能指标 2.通过linux脚本分析性能指标并生成更为简洁的指标报告 3.利用Gnuplot分析指标报告并生成指标趋势折线图
1.通过linux命令实时收集性能指标: 性能测试过程中比较关心的指标有:负载、磁盘繁忙度、内存使用率、CPU 使用率 负载:通过uptime命令,获取平均负载 磁盘繁忙度:通过iostat –x内存使用率 CPU使用率:通过/proc/stat来计算CPU使用率 最终生成性能日志文件
生成性能日志文件的脚本:
#!/bin/sh INTERVAL=10 RUNFILE=/shell/running file=/shell/server_status.log cat /dev/null > ${file} while test -e $RUNFILE;do sleep=$(date +%s.%N | awk "{print $INTERVAL - (\$1 % $INTERVAL)}") sleep $sleep ts="$(date +"TS %s.%N %F %T")" loadavg="$(uptime)" echo "$ts $loadavg" >> ${file} mem="$(free -m|grep Mem)" echo "$mem" >> ${file}
Gnuplot简介
Gnuplot简介本文来自:/Kawano/gnuplot/intro/index-e.htmlGNUPLOT 是用于显示数学函数和数据图形的自由软件,有许多网站有相关文档,因此这里仅对如何根据试验数据或数值计算结果作图进行描述。
1.基本用法Gnuplot已经移植到各种不同的操作系统下,用法也略有不同,这里对UNIX 的X11环境下进行介绍。
因为大部分用法是通用的,因此本教程也可作为其它环境下使用的参考。
首先,执行Gnuplot,显示banner和credit后出现Gnuplot命令行提示符"gnuplot>"。
Gnuplot是命令行驱动的作图工具,在命令提示符下输入命令作图。
% gnuplotG N U P L O TV ersion 4.0 patchlevel 0last modified Thu Apr 15 14:44:22 CEST 2004System: Linux 2.4.23Copyright (C) 1986 - 1993, 1998, 2004Thomas Williams, Colin Kelley and many othersThis is gnuplot version 4.0. Please refer to the documentationfor command syntax changes. The old syntax will be acceptedthroughout the 4.0 series, but all save files use the new syntax.Type `help` to access the on-line reference manual.The gnuplot FAQ is available from/faq/Send comments and requests for help to<gnuplot-info@>Send bugs, suggestions and mods to<gnuplot-bugs@>Terminal type set to 'x11'gnuplot>在Gnuplot中有很多命令,很难全部解释,这里仅介绍用Gunplot作图的最简单用法,可以用help命令得到相关命令的帮助。
Gnuplot_用法
一,基础篇:在linux命令提示符下运行gnuplot命令启动,输入quit或q或exit退出。
1.plot命令gnuplot> plot sin(x) with line linetype 3 linewidth 2 或gnuplot> plot sin(x) w l lt 3 lw 2 %用线画,线的类型(包括颜色与虚线的类型)是3,线的宽度是2,对函数sin(x)作图gnuplot> plot sin(x) with point pointtype 3 pointsize 2 或gnuplot> plot sin(x) w p pt 3 ps 2 %用点画,点的类型(包括颜色与点的类型)是3,点的大小是2gnuplot> plot sin(x) title 'f(x)' w lp lt 3 lw 2 pt 3 ps 2 %同时用点和线画,这里title ‘f(x)’表示图例上标'f(x)',如果不用则用默认选项gnuplot> plot sin(x) %此时所有选项均用默认值。
如果缺某一项则将用默认值gnuplot> plot ‘a.dat’ u 2:3 w l lt 3 lw 2 %利用数据文件a.dat中的第二和第三列作图顺便提一下,如这里最前面的两个例子所示,在gnuplot中,如果某两个词,按字母先后顺序,前面某几个字母相同,后面的不同,那么只要写到第一个不同的字母就可以了。
如with,由于没有其它以w开头的词,因此可以用w 代替,line也可以用l 代替。
2、同时画多条曲线gnuplot> plot sin(x) title ‘sin(x)’ w l lt 1 lw 2, cos(x) title ‘cos(x)’ w l lt 2 lw 2 %两条曲线是用逗号隔开的。
画多条曲线时,各曲线间均用逗号隔开就可以了。
gnuplot使用手册
2.2 Windows 系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3 如何使用 Gnuplot
2
3.1 建立数据文件 (file.data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2
3.1 建立数据文件 (file.data)
原始数据可以用 OpenOffice Calc 或者 Excel 处理,这里省略,只给出处理后的结果:
#
I/mA U2/mV I2/mA U1/mV I1/mA B
R
0
800.3 2.52 1.00 2.51 0.002 317.6
30
800.7 2.48 7.20 2.47 0.017 322.9
3.2 建立程序文件 (file.gnu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3 程序改进:添加标签 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
• solid:可使用实体线。
• datafile=“MPE_8-1_MR.data”:这个是我自定义的一个变量,我想你一看就知道谁 是变量,谁是赋值。
• set output “MPE_8-1_MR_1.eps”:这是指定输出的图片格式和名称,这里我输出 eps 格式图片。
• plot:作图指令,最后一行代码我想我不用解释,它一目了然。
3.4 程序改进:修改标尺有效位数 . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
利用vmstat+gnuplot+python脚本生成CPU和内存使用率图表
利用vmstat+gnuplot+python脚本生成CPU和内存使用率图表最近接触了 gnuplot 这个不错的工具,虽然生成图表的功能可以通过excel 容易的实现,但是在linux命令行下可以跟其他工具配合,轻松实现”自动化”。
vmstat 可以不断的显示linux 系统的 CPU/内存以及 io 的使用情况: vmstat 2 1000 表示每俩秒显示一次系统各种资源消耗情况,一共执行1000 次。
于是做了个比较简单丑陋的python脚本,格式化vmstat 的输出数据并利用gnuplot 生成图表—脚本中实际上是调用测试web server 压力的工具autobench 对gnuplot 的一个再封装脚本bench2png,生成完以后用sz 命令下载到本地,然后删除服务器上的文件。
gnuplot 的用法后面再整理下。
### 遍历当前目录下的文件fileList = os.listdir(path)for file in fileList:# 文件名中没有 vmstat 则不处理if file.find('vmstat') < 0:continue;# 只处理后缀 .txt 或者 .log 的文件if file[-4:] != '.txt'and file[-4:] != '.log':continue# 如果对应的 tsv 文件不存在, 则生成tsvFile = file[0:-4] + '.tsv'if not os.path.exists(path + tsvFile):fileHandle = open(path + file);# 生成 tsv 文件fileContent = ''i = 0header = ''for line in fileHandle.readlines():# 保证每行开始都一样:至少有一个空格line = '' + line# 如果该行存在 procs 则不处理if line.find('procs') > -1:continue# 前 10 行出现 cache 字符表明是列说明,则保留if line.find('cache') > -1and i > 10:continue# 替换字符line = re.sub(r"\n +", "\n", line)# 替换各种换行回车为 \n ,有一个值得改进的机制就是最好能够通过python 脚本内部调用 vmstat 而不是去分析 vmstat 的输出结果,不过作为我第二个实用 python 脚本,感觉还是不错了 :) 下面是生成图效果:One Response to “利用 vmstat+gnuplot+python脚本生成CPU 和内存使用率图表”。
linux gimp使用指令
linux gimp使用指令
GIMP(GNU Image Manipulation Program)是一个开源的图像编辑软件,可以在Linux系统上使用。
以下是一些常用的GIMP 指令:
1. 打开图像文件:`gimp filename.jpg`
2. 创建新图像:`gimp -n -i -b width x height`
3. 导出图像为PNG格式:`File > Export As > PNG`
4. 保存图像为JPEG格式:`File > Export As > JPEG`
5. 裁剪图像:`Image > Crop to Selection`
6. 调整图像大小:`Image > Scale Image`
7. 添加文本:`Text Tool`(工具栏中的文字工具)
8. 撤销操作:`Edit > Undo`
9. 重做操作:`Edit > Redo`
10. 剪切图像:`Edit > Cut`
11. 复制图像:`Edit > Copy`
12. 粘贴图像:`Edit > Paste`
13. 填充颜色:`Paint Tools > Foreground Color`(前景色工具)
14. 选择颜色:`Color Picker`(颜色选择器)
15. 图层操作:在图层面板中,可以创建、删除、合并和调整图层的顺序等。
这些指令只是GIMP的基本功能,更多高级功能可以通过菜单栏和工具栏进行操作。
linux中使用gnuplot
基础通过在 shell 命令提示符中输入 gnuplot 启动 gnuplot。
您首先看到提示符号 >。
该提示符是进入 gnuplot 的输入点;Linux 用户将习惯于这种方式。
例如,您可以使用方向键来查找以前输入的命令历史记录,然后编辑和重新执行这些命令;Home 和 End 键与平时使用没有区别。
可以对 gnuplot 进行重新编译以便使用 GNU readline 库在输入提示符上来回移动,但类似于默认函数。
Gnuplot 提供了广泛的在线帮助,如果您要做任何有用的事情,则肯定会用到这些在线帮助。
语法是统一的:通过输入 help 可以获得任何命令的帮助。
接着启动 gnuplot,尝试命令 help set yrange 和 help set(在每个命令之后,使用 q 退出帮助)。
注意 yrange 是 help set 下的可用子选项之一。
一般来说,gnuplot 帮助为命令的所有可能定制提供进一步的帮助。
浏览帮助中的示例部分通常就足可以了解如何使用命令。
Gnuplot 还有大量展示其能力的演示,通常位于安装的演示子目录中。
为了获得这些能力,在 gnuplot 提示符下进入此目录中(例如,cd'/opt/gnuplot/demo' —注意 gnuplot 要求所有文件名和目录名都用单引号或双引号括起来),然后输入 load 'all.dem'。
该目录中的各个 .dem 文件演示了各个函数,all.dem 将它们一次全部加载。
但您可能想将此操作延迟到本文结束时进行,这样我们可以开始使用 gnuplot ,无需再进行其他操作...对于那些想要继续的人,可以在提示符中分别输入代码清单中的每行代码。
或者,将整个清单保存到一个临时文件中,然后通过在 gnuplot 提示中输入load 'filename'(不要忘记引号)来运行代码。
可以预见的是,2D 绘图的命令是 plot。
gnuplot-tutorial
科学绘图软件Gnuplot使用指南红领巾June13,2007摘要:Gnuplot是用来绘制2D与3D图形的命令行程序,它的功能不如那些商业数学软件强大,但相对于Mathematica或Matlab这样复杂的软件,它显得简易、灵活。
如果你仅仅是想绘制一些图形,又不愿意去学习与绘图无关的东西,Gnuplot是较为理想的选择。
本文介绍Gnuplot各重要的功能与基本用法,所用的操作系统环境为Linux。
1启动与退出在终端键入gnuplot命令,即可进入gnuplot命令交互环境:$gnuplot在gnuplot命令交互环境中键入exit命令,即可退出gnuplot环境:gnuplot>exit2函数与图形2D图形中,函数的自变量是x,在3D图形中,函数的自变量是x与y。
乘法运算符为*,除法运算符为/,幂运算符为**。
,在gnuplot中写为:例如,多项式3x4+4x−233*x**4+4*x-2/3要绘制上面示例中的多项式图形,在gnuplot命令交互环境中,键入:gnuplot>plot3*x**4+4*x-2/31-50005000100001500020000250003000035000-10-5 0 5 103*x**4 +4*x -2/3Figure 1:gnuplot 简单二维图形绘制示例生成的图形如图1所示。
图2为函数f (x )=x 2+y 2的图形。
观察图1与图2,可发现自变量x 与y 的范围为[-10,10],这是gnuplot 自变量默认的取值范围。
gnuplot 内部预定义了一些函数:•标准三角函数:sin (x ),cos (x ),tan (x ),π采用pi 表示;•反三角函数:asin (x ),acos (x ),atanh (x );•双曲函数:sinh (x ),cosh (x ),tanh (x );•指数与对数函数:exp 函数可以求自然底数e 的的幂,如4e 2x ,在gnuplot 中可采用4*exp(2*x)计算;log(x )函数计算以e 为底,x 的对数;对上面所列函数,欲知其详细信息,可在gnuplot 命令交互环境中输入“help 函数名”命令查询,如查询正弦双曲函数sinh 信息:gnuplot>help sinh2-10-5510-10-551020 40 60 80 100 120 140 160 180 200x**2 + y**2Figure 2:gnuplot 简单三维图形绘制示例3二维函数图形绘制Gnuplot 用于二维图形绘制的命令是plot ,该命令用法如下:plot <function>譬如绘制函数y =x 3的图形,可采用如下命令,绘制结果如图3所示:plot x**3采用如下命令可绘制双曲余弦函数图形,绘制结果如图4所示:plot cosh(x)注意,在图4中x 轴与y 轴刻度的比例并非1:1,但它可以告诉我们这样一个事实:随着x 的变化,y 值可能会变的非常大。
gnuplot如何在postscript终端实现multiplot多图模式
gnuplot如何在postscript终端实现multiplot多图模式对于在Linux下工作的人,如果你经常要画一些二维图和简单的三维图的话,那么,gnuplot 无疑是一个非常好的选择,不仅图形漂亮,而且操作简单。
当然如果需要质量更高的三维图,请用其他的一些专业绘图软件。
建议大家学会使用gnuplot。
这个小软件通常都是Redhat Linux自带的,但自带的版本是3.7的,建议将其升级到4.0,新版本具有很多新功能。
最新版本可以到/下载。
一些最基本的操作请大家看说明书。
这里总结一下我在使用过程中遇到的一些问题以及解决的办法,目的是让那些以前不会的或不熟练的能快速入门,会画自己想要的图,因为原来的说明书很长,较难有针对性地很快找到自己想要的信息。
这里简单的总结不可能面面俱到,所以大家不要抱怨我写的不全,更全面的了解还是请看说明书,网上的资料也多的是。
其实这也是我们从网上一点一点搜集和摸索出来的。
我相信看完后,应该平时最常见的问题基本上都能在这里找到答案。
如果大家在使用过程中摸索到了我没有写到的技巧和体会,或有其它建议,请大家提告诉我,以不断完善这篇总结,谢谢!<!--[if !supportLists]-->一、<!--[endif]-->基础篇:在linux命令提示符下运行gnuplot命令启动,输入quit或q或exit退出。
1、plot命令gnuplot> plot sin(x) with line linetype 3 linewidth 2 或gnuplot> plot sin(x) w l lt 3 lw 2 %用线画,线的类型(包括颜色与虚线的类型)是3,线的宽度是2,对函数sin(x)作图gnuplot> plot sin(x) with point pointtype 3 pointsize 2 或gnuplot> plot sin(x) w p pt 3 ps 2 %用点画,点的类型(包括颜色与点的类型)是3,点的大小是2gnuplot> plot sin(x) title 'f(x)' w lp lt 3 lw 2 pt 3 ps 2 %同时用点和线画,这里titl e …f(x)‟表示图例上标'f(x)',如果不用则用默认选项gnuplot> plot sin(x) %此时所有选项均用默认值。
Gnuplot-Handbook-Sun
Gnuplot快速入门2007级孙道勋大气与海洋科学系物理学院北京大学1、运行方法在linux命令提示符下运行gnuplot命令启动,输入quit或q或exit退出。
对于已经写好的脚本也可以直接在linux命令提示符下输入gnuplot 文件名(如:gnuplot draw),在gnuplot下运行脚本的命令为load …文件名‟。
和linux中大多数配置文件一样,注释行是以#符号开头,注释行直接被忽略。
在gnuplot提示符下也可以运行linux命令,但必须在相应的命令前面加上 ! 号,也可以在gnuplot 的提示符后输入shell,暂时性退出gnuplot,进入linux环境,做完要做的事情后,运行exit命令,又回到gnuplot环境下。
2、二维绘图plot {ranges} {<function> | {"<datafile>" {using ...}}}{title} {style} {,<function> {title} {style}...}例如:plot [-pi : pi ][: 1] sin(x) title …sin(x)‟ with lines linetype 1 linewidth 2 %设置x坐标范围为-pi到pi,y坐标最大值为1,([ ]表示x或y坐标范围不进行设置),做函数sin(x)的图像,图例上标sin(x),绘图方式为连线图,线形为1(线形不同颜色不同),线宽为2title、with、linetype等命令也可以仅用一个到两个字母代替,例如:plot …test.dat‟ u 2:3 w lp lt 3 lw 2 pt 2 ps 2 相当于 plot …test.dat‟ using 2:3 with linespoins linetype 3 linwidth 2 pointtype 2 pointsize 2 %用文件test.dat中的第2、3列作图,作图方式为点线图(黑白打印的时候可以用这种方式来区分不同多条图线,设置不同pointtype即可),线形3,线宽2,点型2,点尺寸2同时画多条曲线则曲线之间用逗号隔开,如:plot sin(x) w l, cos(x) w l附:常用图样、线形、点型图样:(/dsectest/dsec_cn/gnuplot/plot-5.html#style有图样效果)∙Lines (l) : 将相邻的点以线条连接。
gnuplot使用手册
gnuplot使用手册GNUplot使用手册目录:1.简介1.1 GNUplot的概述1.2 GNUplot的历史1.3 GNUplot的特点2.安装2.1 GNUplot2.2 编译安装GNUplot3.基本命令3.1 绘制函数图像3.2 绘制散点图3.3 添加标签和标题3.4 设置坐标轴和网格线4.高级功能4.1 绘制多个图像4.2 添加图例4.3 修改线型、颜色和填充4.4 添加箭头和注释5.数据文件的处理5.1 读取文本文件5.2 处理和转换数据5.3 导出图像和数据6.脚本编程6.1 编写GNUplot脚本6.2 运行和调试脚本6.3 批量处理数据和图像7.实例演示7.1 绘制二次函数图像7.2 绘制气温变化图7.3 绘制散点图和拟合曲线8.常见问题解答8.1 安装和配置问题8.2 绘图问题8.3 数据处理问题9.附件1.简介1.1 GNUplot的概述GNUplot是一个强大的绘图工具,可以用于绘制各种类型的二维和三维图像。
它可以通过命令行或脚本进行操作,支持多种绘图选项和数据文件格式。
1.2 GNUplot的历史GNUplot最初由Thomas Williams和Colin Kelley于1986年开发,它是GNU项目的一部分,遵循GNU通用公共许可证(GPL)。
1.3 GNUplot的特点- 支持多种图像类型,如线图、散点图、柱状图等。
- 提供丰富的选项和功能,如标签、标题、图例、填充等。
- 可以处理各种格式的数据文件。
- 支持三维绘图和动画。
- 可以通过脚本来实现自动化和批量处理。
2.安装2.1 GNUplot前往GNUplot官方网站()最新版的GNUplot。
2.2 编译安装GNUplot解压的压缩包,并按照官方提供的说明进行编译和安装。
3.基本命令3.1 绘制函数图像使用plot命令可以绘制函数图像。
例如,要绘制sin(x)的图像,可以使用以下命令:plot sin(x)3.2 绘制散点图使用plot命令可以绘制散点图。
gnuplot详细教程
gnuplot > u n s e t key gnuplot > replot
这里我们看到,可以用 unset 命令取消一个参数设置。 现在碍眼的图例没有了,但是随之而来的问题是,我们不知道这个图像究竟表示什么意思。为 了让它成为一个完整的科学作图,我们给它加上标题和坐标轴标签:
gnuplot > gnuplot > gnuplot > gnuplot > set t i t l e " s i n ( 5 ∗ x ) ␣ 函数图像 " set xlabel "X" set ylabel "Y" replot
5
坐标取值范围及刻度
我们从上一讲结束时的图像开始。 这里默认的 x 取值范围是从 -10 到 10。我们现在希望 x 的取值范围从 -2π 到 2π ,这样函数图 像可以正好包括十个周期。横坐标取值范围由 xrange 参数控制。还记得 gnuplot 里面所有参数都 由 set 命令控制吗?取值范围由方括号内的一对数表示,两个数之间用冒号隔开:
2
启动
gnuplot是基于命令行的交互式绘图软件。打开一个终端,输入 gnuplot,随着程序启动,会出 现下面的信息:(如果是在 Windows 电脑上,双击 gnuplot.exe 后会自动打开一个命令行窗口)
这里包含 gnuplot 的版本、系统、版权等信息。最关键的是最后一条:
Terminal type set t o ’ wxt ’
gnuplot >
在提示符之后输入各种命令,就可以开始画图了。 如果要退出程序,只需要输入 quit 或者 exit 命令。
5
3
数学表达式
令行画图工具gnuplot
3 11 51 9 10 14 11 20 18
(三) 二维资料数据作图
30 9
1. 先在「gnuplot 程式目录」下,建立一个数据资料档, 2.准备配置文件(conf.plot):
档名命名为『data.txt』,档案内容为(中间以一个空格格 开): 00 24 4 18 6 34
set term png set output "plot.png" set size 0.8,0.5 set yrange [0:] set xlabel "Elapsed Time"
8 63
set ylabel "Throughput (requests/sec)"
10 101
plot "plot.data" using 1:2 title "" w lines
12 140
3.非交互式命令行画图:
14 197
• Windows 系统
16 260
> wgnuplot.exe conf.plot
6、画一个非常漂亮的三维图像,并输出为 jpg 的图片
这里绘制一个非常漂亮的 3 维图像,通过 samples 和
isosamples 设置采样速度和绘图密度(不要弄得太大哦,否
则会慢死的)。对拉,title 是能设置标题。
另外,我们还能把绘出的图输出来。设置 output 为输出
的文件名,设置 terminal 为输出类型,再执行一下 replot
接在系统命令行下用 gnuplot 命令执行。
help 命令非常强大,比如我们还要查找所有的函数,在
例如:
gnuplot 命令行下直接输入 help functions 就 ok 拉。
Gnuplot常用绘图功能简单介绍
Gnuplot常用绘图功能简单介绍最近为了学习一个软件,机器总是跑在Linux下,却意外的发现了一些很好的软件,Gnuplot就是其中一个。
Gnuplot是一个强大的命令式科学绘图程序。
最早于1986 年由Colin kelley 和Thomas Williams 所开发,后来的许多参与者都在为不同的“终端”创建变种方面做出了贡献。
Gnuplot可以将数学函数或数据绘制成2D或3D的图形。
最为重要的是,Gnuplot 是一种免费的绘图工具,而且可以在各种操作系统中使用。
这意味着,在科学绘图或者数据拟合等一般需求时,我们不必再为经济问题而使用盗版的 Matlab,Gnuplot完全可以满足我们的基本需求。
一、Gnuplot的下载及安装1.官方网站下载软件包,自行安装 /index.html。
Gnuplot的官方网站虽做得比较简单,但其提供了各种操作系统下的软件版本,而且官方网站还提供了各种教程、使用经验、论坛等内容的链接,在下载软件的同时我们还可以得到许多使用的帮助,所以推荐大家到官方网站上下载Gnuplot,顺便浏览下官方网站的各个板块。
2.Fedora 下在线安装 #yum install gnuplot或者使用Fedora 的软件安装与卸载工具搜索Gnuplot ,下载、安装Gnuplot。
3.Ubuntu 下在线安装 #apt-get install gnuplot或者使用Ubuntu 的软件中心搜索Gnuplot ,下载、安装Gnuplot。
4.Windows 下安装时只需从官方网站上下载win32的zip压缩包,将其解压缩,释放到本地硬盘的某个目录里即可。
二、Gnuplot 的运行1.Linux 下只需打开终端,输入gnuplot 即可,此时终端中会显示程序的版本等一些信息,并进入Gnuplot的命令模式。
2.Windows 下要找到解压目录的下bin这个目录,在bin目录下有一个名为wgnuplot.exe的文件,双击该文件,就会出现GUI界面的gnuplot。
gnuplot 手册说明书
GNUPLOT - A Brief Manual and TutorialDepartment of Civil and Environmental EngineeringEdmund T. Pratt School of EngineeringDuke University - Box 90287, Durham, NC 27708-02871. GNUPLOT - version 3.7.1Gnuplot is a free, command-driven, interactive, function and data plotting program. Gnuplot can be run under DOS, Windows, Macintosh OS, BeOS, OS2, VMS, Linux, and many others. On Unix/Linux systems start Gnuplot by simply typing:gnuplotRecent pre-compiled development versions of Gnuplot, version 3.8*, may be downloaded here for Windows, here for OS2 and here for Linux. The important enhancements provided by version 3.8* are described here.For help on any topic type help followed by the name of the topic. Full documentation is provided here. If you want to try out Gnuplot without downloading it first, you can use this web-enabled Gnuplot interface.2. FUNCTIONSIn general, any mathematical expression accepted by C, FORTRAN, Pascal, or BASIC may be plotted. The precedence of operators is determined by the specifications of the C programming language.The supported functions include:__________________________________________________________Function Returns----------- ------------------------------------------abs(x) absolute value of x, |x|acos(x) arc-cosine of xasin(x) arc-sine of xatan(x) arc-tangent of xcos(x) cosine of x, x is in radians.cosh(x) hyperbolic cosine of x, x is in radianserf(x) error function of xexp(x) exponential function of x, base einverf(x) inverse error function of xinvnorm(x) inverse normal distribution of xlog(x) log of x, base elog10(x) log of x, base 10norm(x) normal Gaussian distribution functionrand(x) pseudo-random number generatorsgn(x) 1 if x > 0, -1 if x < 0, 0 if x=0sin(x) sine of x, x is in radianssinh(x) hyperbolic sine of x, x is in radianssqrt(x) the square root of xtan(x) tangent of x, x is in radianstanh(x) hyperbolic tangent of x, x is in radians___________________________________________________________Bessel, gamma, ibeta, igamma, and lgamma functions are alsosupported. Many functions can take complex arguments.Binary and unary operators are also supported.The supported operators in Gnuplot are the same as the corresponding operators in the C programming language, except that most operators accept integer, real, and complex arguments. The ** operator (exponentiation) is supported as in FORTRAN. Parentheses may be used to change the order of evaluation. The variable names x, y, and z are used as the default independent variables.3. THE plot AND splot COMMANDSplot and splot are the primary commands in Gnuplot. They plot functions and data in many many ways. plot is used to plot 2-d functions and data, while splot plots 3-d surfaces and data.Syntax:plot {[ranges]}{[function] | {"[datafile]" {datafile-modifiers}}}{axes [axes] } { [title-spec] } {with [style] }{, {definitions,} [function] ...}where either a [function] or the name of a data file enclosed in quotes is supplied. For more complete descriptions, type: help plot help plot with help plot using or help plot smooth .3.1 Plotting FunctionsTo plot functions simply type: plot [function] at the gnuplot> prompt.For example, try:gnuplot> plot sin(x)gnuplot> splot sin(x)*cos(y)gnuplot> plot sin(x) title ’Sine Function’, tan(x) title ’Tangent’3.2 Plotting DataDiscrete data contained in a file can be displayed by specifying the name of the data file (enclosed in quotes) on the plot or splot command line. Data files should have the data arranged in columns of numbers. Columns should be separated by white space (tabs or spaces) only, (no commas). Lines beginning with a # character are treated as comments and are ignored by Gnuplot. A blank line in the data file results in a break in the line connecting data points.For example your data file, force.dat , might look like:# This file is called force.dat# Force-Deflection data for a beam and a bar# Deflection Col-Force Beam-Force0.000 0 00.001 104 510.002 202 1010.003 298 1480.0031 290 1490.004 289 2010.0041 291 2090.005 310 2500.010 311 2600.020 280 240You can display your data by typing:gnuplot> plot "force.dat" using 1:2 title ’Column’, \"force.dat" using 1:3 title ’Beam’Do not type blank space after the line continuation character, "\" .Your data may be in multiple data files. In this case you may make your plot by using a command like: gnuplot> plot "fileA.dat" using 1:2 title ’data A’, \"fileB.dat" using 1:3 title ’data B’For information on plotting 3-D data, type:gnuplot> help splot using4. CUSTOMIZING YOUR PLOTMany items may be customized on the plot, such as the ranges of the axes, the labels of the x and y axes, the style of data point, the style of the lines connecting the data points, and the title of the entire plot. 4.1 plot command customizationCustomization of the data columns, line titles, and line/point style are specified when the plot command is issued. Customization of the data columns and line titles were discussed in section 3.Plots may be displayed in one of eight styles: lines, points, linespoints, impulses, dots, steps, fsteps, histeps, errorbars, xerrorbars, yerrorbars, xyerrorbars, boxes, boxerrorbars, boxxyerrorbars, financebars, candlesticks or vector To specify the line/point style use the plot command as follows:gnuplot> plot "force.dat" using 1:2 title ’Column’ with lines, \"force.dat" u 1:3 t ’Beam’ w linespointsNote that the words: using , title , and with can be abbreviated as: u , t , and w . Also, each line and point style has an associated number.4.2 set command customizationCustomization of the axis ranges, axis labels, and plot title, as well as many other features, are specified using the set command. Specific examples of the set command follow. (The numerical values used in these examples are arbitrary.) To view your changes type: replot at the gnuplot> prompt at any time.Create a title: > set title "Force-Deflection Data"Put a label on the x-axis: > set xlabel "Deflection (meters)"Put a label on the y-axis: > set ylabel "Force (kN)"Change the x-axis range: > set xrange [0.001:0.005]Change the y-axis range: > set yrange [20:500]Have Gnuplot determine ranges: > set autoscaleMove the key: > set key 0.01,100Delete the key: > set nokeyPut a label on the plot: > set label "yield point" at 0.003, 260Remove all labels: > set nolabelPlot using log-axes: > set logscalePlot using log-axes on y-axis: > set nologscale; set logscale yChange the tic-marks: > set xtics (0.002,0.004,0.006,0.008)Return to the default tics: > set noxtics; set xticsOther features which may be customized using the set command are: arrow, border, clip, contour, grid, mapping, polar, surface, time, view, and many more. The best way to learn is by reading the on-line help information, trying the command, and reading the Gnuplot manual. You may also post questions to the newsgroup comp.graphics.apps.gnuplotThe Gnuplot demo page and the gnuplot intro page have many examples like this script for a transfer function producing this postscript plot.5. PLOTTING DATA FILES WITH OTHER COMMENT CHARACTERSIf your data file has a comment character other than # you can pass your data file through the tr filter as you plot it. For example, if your data file has % comment characters (for Matlab compatability) typing gnuplot> plot "< tr ’%’ ’#’ < datafile"will replace all % characters with # characters prior to plotting.6. GNUPLOT SCRIPTSSometimes, several commands are typed to create a particular plot, and it is easy to make a typographical error when entering a command. To stream- line your plotting operations, several Gnuplot commands may be combined into a single script file. For example, the following file will create a customized display of the force-deflection data:# Gnuplot script file for plotting data in file "force.dat"# This file is called force.pset title "Force Deflection Data for a Beam and a Column"set xlabel "Deflection (meters)"set ylabel "Force (kN)"set key 0.01,100set label "Yield Point" at 0.003,260set arrow from 0.0028,250 to 0.003,280set xr [0.0:0.022]set yr [0:325]plot "force.dat" using 1:2 title ’Column’ with linespoints , \"force.dat" using 1:3 title ’Beam’ with pointsThen the total plot can be generated with the command: gnuplot> load ’force.p’7. CURVE-FITTING WITH GNUPLOTTo fit the data in force.dat with a function use the commands:f1(x) = a1*tanh(x/b1) # define the function to be fita1 = 300; b1 = 0.005; # initial guess for a1 and b1fit f1(x) ’force.dat’ using 1:2 via a1, b1Final set of parameters Asymptotic Standard Error======================= ==========================a1 = 308.687 +/- 10.62 (3.442%)b1 = 0.00226668 +/- 0.0002619 (11.55%)and the commands:f2(x) = a2 * tanh(x/b2) # define the function to be fit a2 = 300; b2 = 0.005; # initial guess for a and bfit f2(x) ’force.dat’ using 1:3 via a2, b2Final set of parameters Asymptotic Standard Error======================= ==========================a2 = 259.891 +/- 12.82 (4.933%)b2 = 0.00415497 +/- 0.0004297 (10.34%)The curve-fit and data may now be plotted with the commands:set key 0.018,150 title "F(x) = A tanh (x/B)" # title to key! set title "Force Deflection Data \n and curve fit" # note newline! set pointsize 1.5 # larger point!set xlabel ’Deflection, {/Symbol D}_x (m)’ # Greek symbols!set ylabel ’Force, {/Times-Italic F}_A, (kN)’ # italics!plot "force.dat" using 1:2 title ’Column data’ with points 3, \"force.dat" using 1:3 title ’Beam data’ with points 4, \a1 * tanh( x / b1 ) title ’Column-fit: A=309, B=0.00227’, \a2 * tanh( x / b2 ) title ’Beam-fit: A=260, B=0.00415’8. SPREAD-SHEET LIKE CALCULATIONS ON DATAGnuplot can mathematically modify your data column by column:to plot sin( col.3 + col.1 ) vs. 3 * col.2 type:plot ’force.dat’ using (3*$2):(sin($3+$1))9. MULTI-PLOTGnuplot can plot more than one figure in a frame ( like subplot in matlab ) i.e., try:set multiplot;set size 1,0.5;set origin 0.0,0.5; plot sin(x);set origin 0.0,0.0; plot cos(x)set nomultiplot10. HARD-COPY (PLOTTING ON PAPER)You can create a Post-Script file of your plot by using the following files and commands. First, create a general-purpose script file:# File name: saveplot - saves a plot as a PostScript file# to save the current plot as a postscript file issue the commands:# gnuplot> set out ’plotfile.ps’# gnuplot> load ’saveplot’set size 1.0, 0.4set terminal postscript portrait enhanced mono lw 2 "Helvetica" 14replotset terminal x11set size 1,1Then you can simply type the following commands to create and laser-print the hard-copy.gnuplot> set out "force.ps"gnuplot> load ’saveplot’gnuplot> !lpr -Pteerlp1 force.ps11. ADVANCED COMPUTATION AND VISUALIZATIONGnuplot is used for plotting in a free and open Matlab-like programming environment called Octave.12. PRINTING TWO FIGURES ON ONE PAGEIf you would like two figures to be laser-printed on the same page, you may use the following shell script. Create file cat2 , below, and make the file executable by typing: unix% chmod +x cat2# cat2: Shell script for putting two Gnuplot plots on one pageecho %! > g.psecho gsave >> g.psecho 0 400 translate >> g.ps # for Gnuplot plotscat $1 | sed -e "s/showpage//" >> g.psecho grestore >> g.psecho gsave >> g.psecho 0 090 translate >> g.ps # for Gnuplot plotscat $2 >> g.pslpr -Phudsonlp1 g.psTo combine two Post-Script figures (plot1.ps and plot2.ps) on one page:cat2 plot1.ps plot2.ps© 2000-2002 Henri P. Gavin; Last Updated: Decmeber 18, 2002。
使用gnuplot科学作图–Gnuplot中文教程-vision@ouc
1
15 Gnuplot 的坐标系统及标签 16 箭头 17 边框和坐标轴 18 图例 19 对数坐标 20 图像尺寸 21 极坐标 22 参数方程 23 误差条 24 拟合 25 简单 3D 函数绘图 26 数据文件存储格式 27 3D 数据曲面绘图及边框 28 Pm3d 绘图 29 色板(palette)设置 30 Image 绘图 31 等高线图 32 等高线的颜色 33 Table 输出 34 多图(multiplot) 35 曲线色彩填充 36 填充风格 37 柱状图 38 阶梯图 39 数据平滑 40 统计直方图
A 12 插入 L TEX 公式
4 5 5 6 6 9 11 14 16 18 21 23 26 27 29
13 栅格以及方程数值解估算 14 第二坐标轴
∗
使用 gnuplot 科学作图 – Gnuplot 中文教程 by Huan Ma is licensed under a Creative Commons AttributionNonCommercial-ShareAlike 3.0 Unported License. † c Copyright ⃝2011 Huan Ma. 欢迎反馈:yusufma77@
这里是一些例子:
这里用到了 print 命令,就是把结果输出到屏幕上。 有了这些知识做准备,我们就可以正式开始画图了。
4
简单函数绘图
终于可以开始画图了!先从简单的函数图像入手吧。 gnuplot 里面的 2D 作图命令是 plot。先试着画一个正弦函数:
gnuplot > plot sin ( 5 ∗ x )
这里 set xtics 命令直接规定了每个刻度的位置和显示的字符。每一个刻度对应三个参数:显示字 符、刻度位置、刻度等级。刻度等级为 0 时表示主刻度,等级为 1 时表示分刻度。对于主刻度 (等级为 0 时),表示等级的参数也可以省略不写。各个刻度的参数之间用逗号隔开。从上面的例 子我们还看出,显示字符可以为空,也就是只标刻度,不显示字符。另外,如果命令太长,需要把 一条命令分为多行来写,可以在换行时末尾加上反斜杠(\),表示这条命令还没有结bel 和 ylabel 分别表示横轴和纵轴的标签。在 gnuplot 里,很多跟坐标有关的参数,都有相 应的 x 和 y 版本。title 虽然可以给图像加上标题,但是在真正的科学论文里意义不大,因为所有论 文插图都要求配有文字说明(Caption)。引号内的内容为字符串,大多数情况下双引号和单引号 没有区别,除非遇到特殊字符(例如换行符\n),这时候单引号会把特殊字符当成一般字符处理, 而双引号会按照特殊字符的意义将其展开。 这里我们注意到,字符串里也可以包含中文。究竟是否支持中文,和 terminal 的种类有关系。 有些 terminal 对 Unicode 支持不那么好,这时候显示中文就不那么容易了。好在我们可以选择那 些比较有利的 terminal。 现在我们有了一个简单的函数图像了。虽然看起来还不尽人意,但是没关系,我们以后会把它 逐渐完善。
linux_gnuplot之编译
Linux gnuplot软件源码编译Linux下有众多的小软件,秉承一个软件只做一件事并将之做好,做出色的哲学,这些小软件具有优良,精巧的特点。
作为一个工科男,我这里要提的就是gnuplot这个精美的作图小软件。
你肯定对他有所了解了,否则没必要看这篇文章。
只要在软件库中用sudo apt-get install gnuplot就可以安装了,如果你使用的ubuntu系统。
那么先来回答一个问题,为什么编译?你要清楚编译软件是一件耗时耗精力的工作,这可不像我们学c语言时的编译那么简单,毕竟那时我们的程序小,没几行,应该很少超出百行。
而gnuplot却有上万行代码,代码还依赖各种库运行,你必须解决各种所谓的依赖才行。
这意味着,为了装gnuplot软件,你必须装A软件,为了装A软件你必须装B软件,依次类推直至所有依赖解决为止。
编译虽说麻烦,但却有以下好处:①自己动手丰衣足食通过在软件目录下运行./configure--help你可以得到一份大菜单。
看一看,想一想,然后确定你想要什么的特性你就可以针对性的选择了。
你可以添加新功能,隐去其他不想要的功能。
软件仓库提供的是一份老少咸宜的饭菜,但是却忽略了针对性。
现在,你可以选择了,或甜,或辣,或酸等等。
②与众不同,打上软件风格烙印通过编译你可以添加自己所喜欢的特性,剔除不想要的没有用处的功能,从而最优化软件,别人无法更改你的软件,也不会有与你完全一样的软件。
③陶冶情操自己动手编译软件,将一个个的难题解决,既锻炼了软件安装技能,又能体会到一种满足感,实乃愉悦身心之一良方啊!解决了为什么的问题,我们迫切想问如何编译?这才是本文最关心的事!莫急,待我慢慢来讲述-------㈠首先,你得下载源码文件,一般都是打包方式发布的,以××××.tar.gz或者××××.tar.bz结尾。
㈡将源码包进行解压。
七天课堂:使用这些Linux应用来征服你的数学学习
使用这些Linux应用来征服你的数学学习!Linux 提供了大量的教育软件和许多优秀的工具来帮助各种年龄段和年级的学生学习和练习各种各样的习题,这通常是以交互的方式进行。
本文为这些各种各样的教育软件和应用提供了一个介绍。
数学是计算机的核心。
如果有人预期一个类如 GNU/ Linux 这样的伟大的操作系统精确而严格,那么这就是数学所起到的作用。
如果你在寻求一些数学应用程序,那么你将不会感到失望。
Linux 提供了很多优秀的工具使得数学看起来和你曾经做过的一样令人畏惧,但实际上他们会简化你使用它的方式。
GnuplotGnuplot 是一个适用于不同平台的命令行脚本化和多功能的图形工具。
尽管它的名字中带有“GNU”,但是它并不是 GNU 操作系统的一部分。
虽然不是自由授权,但它是免费软件(这意味着它受版权保护,但免费使用)。
要在 Ubuntu 系统(或者衍生系统)上安装 gnuplot,输入:sudo apt-get install gnuplot gnuplot-x11进入一个终端窗口。
启动该程序,输入:gnuplot你会看到一个简单的命令行界面:learnmath-gnuplot在其中您可以直接输入函数开始。
绘图命令将绘制一个曲线图。
输入内容,例如,plot sin(x)/x随着gnuplot的提示,将会打开一个新的窗口,图像便会在里面呈现。
learnmath-gnuplot-plot1你也可以即时设置设置这个图的不同属性,比如像这样指定“title”。
plot sin(x) title 'Sine Function', tan(x) title 'Tangent'learnmath-gnuplot-plot2你可以做的更深入一点,使用splot命令绘制3D图形:splot sin(x*y/20)learnmath-gnuplot-plot3这个图形窗口有几个基本的配置选项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基础通过在 shell 命令提示符中输入 gnuplot 启动 gnuplot。
您首先看到提示符号 >。
该提示符是进入 gnuplot 的输入点;Linux 用户将习惯于这种方式。
例如,您可以使用方向键来查找以前输入的命令历史记录,然后编辑和重新执行这些命令;Home 和 End 键与平时使用没有区别。
可以对 gnuplot 进行重新编译以便使用 GNU readline 库在输入提示符上来回移动,但类似于默认函数。
Gnuplot 提供了广泛的在线帮助,如果您要做任何有用的事情,则肯定会用到这些在线帮助。
语法是统一的:通过输入 help 可以获得任何命令的帮助。
接着启动 gnuplot,尝试命令 help set yrange 和 help set(在每个命令之后,使用 q 退出帮助)。
注意 yrange 是 help set 下的可用子选项之一。
一般来说,gnuplot 帮助为命令的所有可能定制提供进一步的帮助。
浏览帮助中的示例部分通常就足可以了解如何使用命令。
Gnuplot 还有大量展示其能力的演示,通常位于安装的演示子目录中。
为了获得这些能力,在 gnuplot 提示符下进入此目录中(例如,cd'/opt/gnuplot/demo' —注意 gnuplot 要求所有文件名和目录名都用单引号或双引号括起来),然后输入 load 'all.dem'。
该目录中的各个 .dem 文件演示了各个函数,all.dem 将它们一次全部加载。
但您可能想将此操作延迟到本文结束时进行,这样我们可以开始使用 gnuplot ,无需再进行其他操作...对于那些想要继续的人,可以在提示符中分别输入代码清单中的每行代码。
或者,将整个清单保存到一个临时文件中,然后通过在 gnuplot 提示中输入load 'filename'(不要忘记引号)来运行代码。
可以预见的是,2D 绘图的命令是 plot。
在提示符中输入 plot sin(x):您应该在弹出窗口中看到熟悉的正弦曲线。
图 1. sin(x)我们刚刚创建了可能是最简单的图。
让我们看看如何以不同方法定制该图。
假设我们只想看到一个正弦曲线周期。
我们通过限制图的默认" x 范围来完成此操作。
使用表示法 [min:max] 来指定范围。
要仅指定最小值,使用 [min:];要仅指定最大值,使用 [:max]。
数学上称此为所谓的“闭”区间表示法。
这里我们使用 [-pi:pi] 得到一个正弦曲线周期:清单 1. 从 -pi 到 +pi 的 sin(x)set xrange [-pi:pi]replotreset图 2. 重绘正弦曲线图我们刚才使用了" replot 命令,它执行先前的 plot 命令。
当您绘制曲线图且需要不断对该图进行修改以添加想要的特征时,此命令会非常有用。
另外,replot 使您可以添加更多的图。
尝试输入 replot cos(x)。
依照语法,该命令等同于 plot sin(x), cos(x)。
Replot 就是获取先前的绘图字符串,添加必要的逗号,然后附加输入给它的其余部分。
使用的最后一个命令 reset 对于绘制正弦曲线不是必要的。
它移除先前所有 set 命令的效果并恢复默认值。
因此,在本例中,它将使用默认 x 范围。
现在让我们尝试一些更奇特的东西:plot sin(x)/x。
您应该看到如下所示图形:图 3. sin(x)/x从刚才这三个简单的例子,您可以看到" gnuplot 能够理解 pi 并具有丰富的自带数学函数词汇表。
它甚至知道非常有用的管理正态分布的统计函数,以及深奥的特殊函数,如朗伯、贝塞尔、beta 和 gamma 函数(还有更多!),这些函数通常仅在 mathematica 等功能齐全的数学工具中才会有。
根据经验,语法与 C 中的语法相似,C 中的语法又与平常数学中使用的语法相似。
(一个重要的不同是指数的表示法:为了方便,x 的 y 次幂写为 x**y)。
接着,将图命名为(“My First Graph”),并命名轴(x 轴是“an gle, in degrees”,y 轴是“sin(angle)”)。
清单 2. 命名图和轴set title "My first graph"set xlabel "Angle, \n in degrees"set ylabel "sin(angle)"plot sin(x)注意 xlabel 中的 \n 会产生新的一行。
一般来说,gnuplot 在双引号内的字符串中进行类似于 C 的反斜杠处理。
Windows 用户注意:如果您想文件名使用双引号括起来的字符串表示,则必须使用两个反斜杠:如"c:\\developerworks"(或者可以使用一个正斜杠:"c:/developerworks")。
现在,我们注意到 x 轴实际没有标记为度数,看起来不是很好。
要修改此问题,通过调整 x 轴上的 tic 标记,使指定的(主)标记仅以 90 度增加和辅标记以 45 度增加。
主 tics 的“级别”为 0,这是默认值;辅 tics 的级别为1。
每个点分别由一个 3 元组指定:"label"(放在引号中)、和。
清单 3. 改变轴上 tic 并设置网格set xrange [-pi:pi] # we want only one cycle set xtics ("0" 0, "90" pi/2, "-90" -pi/2, "" pi/4 1, "" -pi/4 1, "" 3*pi/4 1, "" -3*pi/4 1)set gridset xlabel "Angle,\n in degrees"set ylabel "sin(angle)"plot sin(x)图 4. 带有 tics、标题、网格和标签的轴的 sin(x) 注意对" +45 度和 -45 度辅标记使用了空标签 ("")。
还要注意我们不必以任何顺序列出点。
像 gnuplot 中的其他所有项一样,xtics 命令功能非常多,具有方便的选项,用于以固定增量创建 tic 标记(在对数标度中为正常倍数),以及用于时间相关数据的特殊格式。
查看 help set xtics 中的例子可以获得更多信息。
作为边注,注意我们使用反斜杠将 xtics 命令扩展成多个输入行。
这样可以使比较长或比较复杂的命令更易读懂。
我们还用 set grid 来设置网格,该命令使您可以从数量上查看图。
到现在为止,我们大量地使用了 set 命令。
Gnuplot 有一种撤销设置的统一方法:在gnuplot 4.0 中,命令是 unset。
例如,如果您不想要网格,使用 unset grid。
4.0 以前的版本,命令是 set nogrid。
顺便说一下,我们提供的所有例子都可以在交互模式或批处理模式下运行。
要以交互模式运行,在提示符中输入每个命令。
要以批处理模式运行,将命令输入或添加到文本文件中,然后在 gnuplot 提示符中使用 load 'filename' 读入文件,或者在 shell 提示符下将其作为参数提供给 gnuplot:$ gnuplot filename。
使用第二种方法,gnuplot 会在执行输入文件中的所有命令后退出,所以当直接绘图到文件中(请参见下一节)时,采用批处理模式执行特别有效。
如果在屏幕上绘图时使用第二种方法,输出窗口一出现(当 gnuplot 退出时)就会消失,所以您需要使用显式的“pause -1”命令(请参阅 help pause)来保持窗口。
批处理模式操作中使用的 Gnuplot 命令文件往往停留一会,从而帮助使用注释来提高可读性。
# 后面的直到行结束的内容是注释。
所以在示例清单 3 中,gnuplot 不处理 we want only one cycle。
终端设备——题外话在启动时,您可能注意到终端类型设置为 X11。
Gnuplot 采用标准设计,可以在多个终端设备上绘图。
这包括直接打印到多种打印机中,包括 Epson、HP 和 Imagen 打印机。
它甚至可以在伪设备中绘图,如 postscript 和 png。
这主要涉及生成输出文件,而不是可查看文件或打印输出。
这是将您的图表包含在其他报表中的一种技巧。
虽然我还没有发现在 Windows 中与在 Linux 中有什么不同,本文档建议您在设置输出文件名之前先设置终端类型:清单 4. 设置输出和终端类型set terminal png # gnuplot recommends setting terminal before outputset output "output.png" # The output filename; to be set after setting# terminalreplot现在,文件 output.png 中有了您刚才绘制的图,且可以包含在一个更大的报表中。
许多普遍使用的排版和制图程序都有专门的终端,这些程序包括 Adobe Illustrator(set term aifm)、Corel Draw(set term corel)、AutoCad(set term dxf)和多种 LaTex 相关的终端(eepic、latex、pstricks、texdraw、tpic 等等)。
您还可以得到 PostScript、enhanced PostScript (eps) 或 Adobe PDF 格式的文件。
您的 gnuplot 版本可能没有编译所有的终端驱动程序——例如,Windows 用户不需要 Xll 终端,Linux 用户不需要 Windows 终端。
类似地,出于法律原因,gnuplot 4.0 移除了对 gif 终端的支持。
所有终端在能力上都不相同。
其中的一些(如 LaTeX)可能不支持文本的旋转,所以如果您像我们前面那样设置 ylabel,在不同的终端中可能显示不一样。
换句话说,您可以在 LaTeX 的特定终端中使用 LaTex 命令。
例如,set ylabel "$sin(\\theta)$"(注意我们使用两个反斜杠产生一个 LaTex 所需的反斜杠—— gnuplot 在将双引号中所括的字符串传送到终端驱动程序之前,先对其进行反斜杠处理)。