实例介绍
介于网上对gnuplot 的中文资料不足,本人花闲遐时间翻译英文手册。内容200页,涵盖了所有内置命令,和选项的解释。以及包含实例、插图和注解。
如果一条命令太长可以在末尾使用反斜线后在下一行继续(反斜线必须是此行的最后一个字符) plot sin(x), f2 (x), f3(x),\ f4(x),f5(x); 但是如果发生错误,命令解析器无法准确定位到岀错的行。在本文中花括号用于表示可选参数,管 道符号用于分割一些可选选项。<>用于表示可认为更改的部分。 Gnuplot在命令行上使用 gnuplot OPTIONS} filel file2.;启动。对于1l系统可以使用: gnuplot X11 OPTIONS}{ OPTIONS} filel file2.具体查阅x11的文档 命令行中的选项可以出现在行的任何地方,文件名将按顺序依次执行 作为文件名,让 gnuplot从标准输入读取 新特性 本节介绍44版本以来主要的附加功能。详见NEWS文件。 新语法 这个版本的 gnuplot新增了佚代指令,和块结构( if else while do)详见后文。简单的佚代指令可以在plot set命令中使用。例如 Itiplot layout 2, 2 100 term Fourier series fourior(k. x) sin(3 /2*k)/k 2/3*cos(k*x) do for「 powcr=0:31{ TERMS=10*冰 power set title sprintf(%g term Fourier series", TERMS plot 0.5+ sum [k=1: TERMS] fourier(k, x) nottle nset multiplot 本地化的 linetypes用户设置 你可以设置默认的 linetype,详见 set linty pe。这通常在启动文件中设置。 新的 plot styles 查看 plot styles: boxplot, circles, ellipses的文档 翻转坐标轴 坐标轴现在可以不使用Xy命名。详情查看 set polar and set rrange 新的平滑算法 新的算法支持2d3d绘制。 smooth density或者 smooth cumulative同plo指令同时使用。 新的时间和日期处理 Gnuplot现在使用毫秒(千分之一秒)精度。时间数据必须被格式化成规定格式。内建函数tmeO返 回当前系统时间。例如输出时间: print strftime(%H: %M: %.3S %od-%b-%Y", time(0.0)) 18:15:04.25316-Apr-2011 数据统计汇总 新命令 stats从文件读取数据,使用plot相同的语法。并且输出统计汇总,包括最大值,最小值,众数 平均值,标准差,关联性。等等。 反向兼容 Gnuplot4.0摒弃了旧版本中的部分语法。但是仍然对它们提供了支持。需要在编译时提供支 t*:. /configure --enable-backwards-compatibility Deprecated set title old-1 set data linespoints plot 1 2 4 horizontal line at y=1 New. TITLE="New sot titlo TItle offset char 0, char-1 set style data linespoints plot 1 linetype 2 pointtype 4 批量处理和交互操作 Gnuplot既可以从文件读取命令执行,也可以交互运行。使用-e" command"将执行一个 gnuplot 命令 使用- persist直接从命令行读取程序。退出后窗体后台保留。 gnuplot -persist -e"set title Sine curve' plot sin(x) 设置变量影响脚本执行。 lot g-file. png t. gpl 画布尺寸 以前版本 gnuplot,对于某些终端类型使用 set size命令控制画布大小,而其它终端用其它方法。4.2 版夲以来 set size命令被放弃。4.4版本几乎所有的终端类型使用同样的语法。 set term <terminal type> size < XX>, <YY> 默认情况下,输出将使用整个画布。 set size<XX>,<YY>缩放plot相对于画布的大小。值小于1表示plot不使用整个画布。值大于1 表示plot的某一部分将会被显示在画布上。在某些终端类型下值大于1会出错。 这个规则的主要例外是, Postscript驱动。 set size o. 0.5 set term png size 400, 400 set output figure. png lot sin(x) 这些指令用于绘制一个400*400大小的png图片,绘制区域横向使用80%纵向使用50%(下图蓝 色边框是译者加入的): 10 sin(x) 10 5 10 注释 脚木中的注释#开始一直到行尾。 数据文件中的注释由 set datafile commentschars设定,默认为井。 坐标 set arrow, set key, set labe和 set object命令允许使用坐标作为参数,坐标的表示方法为 &<system>]<x>,i<system> <y>i, <system>]<z> < system>可以为 first, second, graph, screen,或者 character First设置xyz值到第一坐标系, second设置xyz到第二坐标系, graph设置相对与图像区域的比 例,0,0代表左底点,1,1右上点。 screen代表坐标相对与整个画布2,0,0代表画布左底点,1,1画布右 上点。 character关键字,坐标位置决定于字符的宽或高,因此它和当前字体相关。参考:page7 如果ⅹ没有指定坐标系,默认使用 first,如果y没指定,默认依赖于X。 某些情况下需要使用相对坐标(例如 set arrow的第二个参数)。如果给定坐标处于对数坐标系,那么 值被解释为比例因子。例如 set logscale x set arrow from 100.5 rto 10. 2 箭头从100,5指向1000,7 如果某个轴的数据是日期,那么必须使用满足 set timefmt格式的字符串。 字符串数据 数据文件现在可以包括字符串数据。字符丰可以包括任意可显示字符。 1.0002.000" NUM ONE"2.00 1 gnuplot有两个坐标系统参见24 2画布和图像区域,前者范围大于图像区域。系统在图像区域之外的画布区域为坐标轴注明刻度标签 2,0001.000"N.TWO"3.00 此行数据含有4列。 2D或者3Dplo指令可以将文本字段自动定位。 plot ' datafile' using 1: 2: 3 with labels 这些命令将从文件中读取数值作为坐标,将字符串写在指定坐标处。 读取字符串并将它写在横轴标点,可用于直方图的命名。 reset set tics set term png size 400, 400 sct output f. png plot [0: 3110: 31"data"using 1: 2: xticlabcls(3)title"data Cata 十 1.5 NUM ONE NTWO 注:图中蓝色区域为译者加入,为了让读者看到图像边界。坐标轴以内的区域为 graph区域(图像区 域),之外的白色区域为 screen区域(画布区域)。 增强文本模式 与tex兼容的表达方法用于 Control Example Result 输入数学公式。花括号用于 a x 字符分组。例如 a x a@"bicd] a^x+2 a+2 d&ispace)b dumb a^{x+2} +2 门 a∧10 a30注意 这个10是作为两个元素处理的。 a^{10} set termoption enhanced开启增强模式 set label"x2' enhanced关闭增强虽模式 想指定字体或者字体大小请使用完整的格式:{ fontname≡ fontsize* fontscale]text}例如 / Symbo=20G}表示20p的字符G,{*0.75K}字符K,尺寸为当前尺寸的3/4调一点 号必须是花括号内第一个字符,也就算说{和/必须紧挨着。这对括号对上标和下标非常有用,但是对于 单词的重音符号就不好用了。对于这种字符最好使用特殊文本编码isO88591 or utf8。这些字符集 里包含了大量有重音和附加其它标记的字符。产生空白可以使用&{text}它将产生与text等宽的空白 abc&{def}ghi’生成 abc ghi 符号用于让下一个字符或者元素在同一水平位置输出,换句话说让他们重合,用于产生标注字符。 十十 {abc}{1++}abc加号提升1个单位。 "~{abc}.700089小写0提升07个单位。这个不美观。 a{1/*5o} 小写0提升1个单位,尺寸减半。 a{O/*10} 小写0与小写a完全重合 "~a{0/*20}小写O放大一倍与a完全重合。 使用这个功能你可以组合出你想要的特殊符号。 你可以使用\ⅩⅩⅹ访问字符,类似C语言中的表示方法,它直接表示字符编码值 {/ Symbol245}一个无穷的符号。但是这个方法在多字节编码的文档中工作不好,例如ut8。这不 会造成什么限制,在ut8中你就直接输入这个字符就可以了。 使用去转义一个元字符。 环境变量 Gnuplot可以理解一部分 shell变量。但对she!变量不存在什么依赖,有些she!变量对你应该有用 如果 GNUTERM被定义,它的值将成为 gnuplot启动时的默认终端。但是如果 gnuplot或者其 它配置文件存在,文件中的设置将覆盖这个值。 GNUHELP变量定义HELP文件( gnuplot.gih)的路径 省略三个变量的翻译: GNUPLOT PS DIR GNUPLOT LIB FIT SCRIPT 表达式 许多编程语言都支持数学表达式。运算符处理规则与C编程语言一致。空白字符(空格,tab)在表达 式内忽略。 复数用{实数,数}表示法。{0,1}表示i也就算虚数单位√-1。(3,2}==3+2i花括号不能省咯 gnuplot使用整型和浮点数,类似于C和 FORTRAN语言。整数1-10,浮点数10-10.01e 3。需要注意的是 gnuplot也有两种除法,整数除法和小数除法:5/2==2;5.0/2==2.5。对于负 整数除以正整数,例如-5/2,结果可能是-3或者-2,这跟编译器相关。 除零,1/0将设置 undefined标志。可以使用内建的NaN来表示这个值。 对于虚数{X,y},Xy一定会被转换成浮点数,{3,2}=={3.0,2.0}。 单个小数点用于连接字符串"AAA"."BBB"eq" AAABBB",小数点是字符串连接运算,eq是字 符串比较运算。当字符串包含一个数字,它用于数学表达式时能自动转化成浮点数或整 型。"3"+"7"==10;6.78==”6.78".数字用于字符串运算也能自动转换成字符串,"file".4eq fle4";字符丰索引," string"[3:4]=="ri"" ABCDEF"[4:*]=="DEF",字符串索引使用了内 建的 substi(str, begin,end)函数 函数 grupo的函数和unix数学库相匹配。所有的函数都接受整数浮点数复数,无需手动指明类型 有些函数接受或者返回角度(in(x)asin(x))角度单位可以为弧度或者度(弧度2n==360度) 函数 参数 abs(x) 任何实数绝对值 aDS(X 复数{x,y}到原点的距离 acos(x 任何COSX反函数 acosh(X)任何 cosh反函数返回弧度。 arg(x) 复数X的相 asin(X 任何Sinx反函数 asinh(x 任何 sinh x反函数,返回弧度。 atan (x) 任何tanx反函数 atan2(y,x)实数tan(yx)反函数 atanh(x)任何 tanh x反函数返回弧度 E| uptick(k)k∈(-1:1)K(k)第一类完全椭圆函数 Elliptic(k)k∈[-1:1](k)第二类完全椭圆函数 EllipticPi(n,k) real n<1, real k∈(-1:1)(n,k)第三类完全椭圆函数 beso(x)实数j0 Bessel函数,弧度。 besj1(X)实数j1 Bessel函数,弧度。 beso(x)实数y0 Bessel函数,弧度。 besy1(x)实数y1 Bessel函数,弧度。 ceil(x 任何[x],不小于x的最小整数。 COS(X 任何余弦 cosh(x)任何双曲线余弦函数 erI(X )任何er(real(x), error function of real(x) eric(x) HIA eric(real(x)), 1.0-error function of real(x) exp(x) 任何e floor(x)任何不大于X的最大整数 gamma(x)任何 gamma函数 beta(P,q,x)任何 InterFix )任何 igamma(a, x) imag(x)复数返回复数的虚数部分 Invnorm(X 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论