一、 基础篇:
  在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,点的大小是2

  gnuplot> 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 %两条曲线是用逗号隔开的。画多条曲线时,各曲线间均用逗号隔开就可以了。

  以上例子中是对函数作图,如果对数据文件作图,将函数名称换为数据文件名即可,但要用单引号引起来。

3、关于图例的位置

  默认位置在右上方。

  gnuplot> set key left %放在左边,有left 和right两个选项

  gnuplot> set key bottom %放在下边,只有这一个选项;默认在上边

  gnuplot> set key outside %放在外边,但只能在右面的外边

  以上三个选项可以进行组合。如:

  gnuplot> set key left bottom %表示左下边

  还可以直接用坐标精确表示图例的位置,如

  gnuplot> set key 0.5,0.6 %将图例放在0.5,0.6的位置处

4、关于坐标轴

  gnuplot> set xlabel ‘x’ %x轴标为‘x’

  gnuplot> set ylabel ‘y’ %y轴标为’y’

  gnuplot> set ylabel ‘DOS’ tc lt 3 %其中的tc lt 3表示’DOS’的颜色用第三种颜色。

  gnuplot> set xtics 1.0 %x轴的主刻度的宽度为1.0,同样可以为y轴定义ytics

  gnuplot> set mxtics 3 %x轴上每个主刻度中画3个分刻度,同样可以为y轴定义mytics

  gnuplot> set border 3 lt 3 lw 2 %设为第三种边界,颜色类型为3,线宽为2

  同样可以为上边的x轴(称为x2)和右边y(称为y2)轴进行设置,即x2tics,mx2tics,y2tics,my2tics。

  gnuplot> set xtics nomirror

  gnuplot> unset x2tics %以上两条命令去掉上边x2轴的刻度

  gnuplot> set ytics nomirror

  gnuplot> unset y2tics %以上两条命令去掉右边y轴的刻度

5、在图中插入文字

  gnuplot> set label ‘sin(x)’ at 0.5,0.5 %在坐标(0.5,0.5)处加入字符串’sin(x)’。

  在输出为.ps或.eps文件时,如果在set term 的语句中加入了enhanced选现,则可以插入上下标、希腊字母和特殊符号。上下标的插入和latex中的方法是一样的。

6、在图中添加直线和箭头

  gnuplot> set arrow from 0.0,0.0 to 0.6,0.8 %从(0.0,0.0)到(0.6,0.8)画一个箭头

gnuplot> set arrow from 0.0,0.0 to 0.6,0.8 lt 3 lw 2 %这个箭头颜色类型为3,线宽类型为2

gnuplot> set arrow from 0.0,0.0 to 0.6,0.8 nohead lt 3 lw 2 %利用nohead可以去掉箭头的头部,这就是添加直线的方法。

  注意,在gnuplot中,对于插入多个的label和arrow等等,系统会默认按先后顺序分别对各个label或arrow进行编号,从1开始。如果以后要去掉某个label或arrow,那么只要用unset命令将相应的去掉即可。如:

  gnuplot> unset arrow 2

  将去掉第二个箭头。

7、图的大小和位置

  gnuplot>set size 0.5,0.5 %长宽均为默认宽度的一半,建议用这个取值,尤其是画成ps或eps图形的时候

  gnuplot>set origin 0.0,0.5 %设定图的最左下角的那一点在图形面板中的位置。这里图将出现在左上角。

8、画三维图

  gnuplot>splot ‘文件名’ u 2:4:5 %以第二和第四列作为x和y坐标,第五列为z坐标。

9.将图形输出到文件

  在gnuplot中,输出文件的格式是由terminal来控制的。默认的情况下,都是输出到屏幕,即终端模式为X11。如果想输出到文件,则必须对terminal进行设置。要了解有那些终端类型,可以输入 set terminal后回车,所有支持的终端模式(或文件格式)都列出来了。就我来说,输出文件的格式用得最多的是ps和eps文件。这在运行画图命令plot或splot前必须先运行如下两条命令:

  gnuplot>set term post eps color solid enh

  gnuplot>set output ‘a.eps’

  其中第一条命令为设置终端模式,post即为postscript模式,这是输出到ps或eps文件必须有的。后面的eps,color,solid以及enh选项均可以有或没有,根据你的需要。eps表示输出为eps文件,没有就输出为ps文件;color表示输出图形为彩色,不用就会保存为黑白的;solid表示输出图中的所有线都用实线,不用则除了第一条线为实线外,其它的均用不同的虚线;使用enh(enhanced)选项可以在图中插入上下标、希腊字母和特殊符号,不用则不能实现这些功能。后面的选项可以根据自己的需要选择一个或几个。

  第二条命令对output的设置表示要输出的文件的名字。但是请注意,运行完这条命令后,还仅仅是定义了输出文件的名字,实际上,图还没画到这个文件里去。因此运行这两条命令还只是进行了必须的设置。然后运行如下命令

  gnuplot>plot sin(x) w l

  或

  gnuplot>replot(假如前面已经运行过plot或replot命令的话)

  这时,图形就在上面指定的文件中了。

  要输出为其它格式,同样要进行这样的设置,比如要输出为jpg格式,则在运行画图命令前先运行如下命令:

  gnuplot>set term jpeg

  gnuplot>set output ‘a.jpg’

  如果要由其它模式再返回到输出到屏幕,则运行如下命令:

  gnuplot>set term X11

二、提高篇:

  1、如何在同一张图里同时画多个图

  gnuplot>set multiplot %设置为多图模式

  gnuplot>set origin 0.0,0.5 %设置第一个图的原点的位置

  gnuplot>set size 0.5,0.5 %设置第一个图的大小

  gnuplot>plot “a1.dat”

  gnuplot>set origin 0.5,0.5 %设置第二个图的原点的位置

  gnuplot>set size 0.5,0.5 %设置第二个图的大小

  gnuplot>plot “a2.dat”

  gnuplot>set origin 0.0,0.0 %设置第三个图的原点的位置

  gnuplot>set size 0.5,0.5 %设置第三个图的大小

  gnuplot>plot “a3.dat”

  gnuplot>set origin 0.5,0.0 %设置第四个图的原点的位置

  gnuplot>set size 0.5,0.5 %设置第四个图的大小

  gnuplot>plot “a4.dat”

  当然,如果后一个图中的某个量的设置和前一个的相同,那么后一个中的这个量的设置可以省略。例如上面对第二、第三和第四个图的大小的设置。前一个图中对某个量的设置也会在后一个图中起作用。如果要取消在后面图中的作用,必须用如下命令,如取消label,用

  gnuplot>unset label

2、作二维图时,如何使两边坐标轴的单位长度等长

  gnuplot> set size square %使图形是方的
  gnuplot> set size 0.5,0.5 %使图形是你要的大小
  gnuplot> set xrange[-a:a]
  gnuplot> set yrange[-a:a] %两坐标轴刻度范围一样
  gnuplot> plot ‘a.dat’

3、如何在同一张图里利用左右两边的y轴分别画图

  gnuplot> set xtics nomirror %去掉上面坐标轴x2的刻度
  gnuplot> set ytics nomirror %去掉右边坐标轴y2的刻度
  gnuplot> set x2tics %让上面坐标轴x2刻度自动产生
  gnuplot> set y2tics %让右边坐标轴y2的刻度自动产生
  gnuplot> plot sin(x),cos(x) axes x1y2 %cos(x)用x1y2坐标,axes x1y2表示用x1y2坐标轴
  gnuplot> plot sin(x),cos(x) axes x2y2 %cos(x)用x2y2坐标,axes x2y2表示用x2y2坐标轴
  gnuplot> set x2range[-20:20] %设定x2坐标的范围
  gnuplot> replot
  gnuplot> set xrange[-5:5] %设定x坐标的范围
  gnuplot> replot
  gnuplot> set xlabel ‘x’
  gnuplot> set x2label ‘t’
  gnuplot> set ylabel ‘y’
  gnuplot> set y2label ‘s’
  gnuplot> replot
  gnuplot> set title ‘The figure’
  gnuplot> replot
  gnuplot> set x2label ‘t’ textcolor lt 3 %textcolor lt 3或tc lt 3设置坐标轴名称的颜色

4、如何插入希腊字母和特殊符号

  一般只能在ps和eps图中,且必须指定enhanced选项。在X11终端(即显示器)中无法显示。

  gnuplot> set terminal postscript enhanced

  然后希腊字母就可以通过{/Symbol a}输入。例如

  nuplot> set label ‘{/Symbol a}’

  各种希腊字母与特殊符号的输入方法请见安装包中gnuplot-4.0.0/docs/psdoc目录下的ps_guide.ps文件。

  另外还可参见:
  http://t16web.lanl.gov/Kawano/gnuplot/label-e.html#4.3

5、gnuplot中如何插入Angstrom(埃)这个符号(A上面一个小圆圈)

  脚本中在插入前先加入
  gnuplot>set encoding iso_8859_1
  这个命令,然后就可以通过“{\305}”加入了。如横坐标要标上“k(1/?)”:
  gnuplot>set xlabel 'k(1/{\305})

如果是multiplot模式,则这个命令必须放在
gnuplot>set multiplot
的前面。

  如果后面还要插入别的转义字符,那么还要在插入字符后加入如下命令:
  set encoding default

  安装包中gnuplot-4.0.0/docs/psdoc/ps_guide.ps文件中的表中的‘E’代表那一列的所有符号都用这个方法输入。

6、gnuplot画等高线图

  gnuplot>splot ‘文件名.dat’ u 1:2:3 w l %做三维图

  gnuplot>set dgrid3d 100,100 %设置三维图表面的网格的数目

  gnuplot>replot

  gnuplot>set contour %设置画等高线

  gnuplot>set cntrparam levels incremental -0.2,0.01,0.2 %设置等高线的疏密和范围,数据从 -0.2到0.2中间每隔0.01画一条线

  gnuplot>unset surface 去掉上面的三维图形

  最后用鼠标拽动图形,选择合理的角度即可。或者直接设置(0,0)的视角也可以:

  gnuplot>set view 0,0

  gnuplot>replot

  这里注意,画三维图的数据文件必须是分块的,也就是x每变换一个值,y在其变化范围内变化一周,这样作为一块,然后再取一个x值,y再变化一周,作为下一数据块,等等。块与块之间用一空行格开。

7、如何画漂亮的pm3d图

  gnuplot> set pm3d %设置pm3d模式

  gnuplot> set isosamples 50,50 %设置网格点

  gnuplot> splot x2+y2 %画三维图

  gnuplot> splot x2+y2 w pm3d %画成pm3d模式,注意比较变化

  gnuplot> set view 0,0 %设置视角,(0,0)将投影到底面上去

  gnuplot> splot x2+y2 w pm3d %重画,注意看变化

  gnuplot> unset ztics %把z轴上的数字给去掉

  gnuplot> set isosamples 200,200 %使网格变细

  gnuplot> replot %重画,注意看变化,主要是过渡更光滑

gnuplot常用技巧相关推荐

  1. gnuplot绘图技巧

    Gnuplot 是一种免费分发的绘图工具,可以移植到各种主流平台.它可以下列两种模式之一进行操作:当需要调整和修饰图表使其正常显示时,通过在 gnuplot 提示符中发出命令,可以在交互模式下操作该工 ...

  2. div css 常用技巧

    div css 常用技巧 1.给图片加上alt属性:  <img src="logo.gif" alt="我的公司logo,点击返回首页" /> 2 ...

  3. 【CSS3教程】CSS3基础常用技巧实例集合

    为什么80%的码农都做不了架构师?>>>    CSS3常用技巧 CSS3下条纹&方格斜纹背景的实现 一.效果抢先:CSS3下的条纹背景demo 这些美丽的纹饰全部都是由CS ...

  4. AcWing 2984. 线段 / POJ3304(计算几何、常用技巧转换)

    常用技巧转换,寻找一个直线旋转 我们发现如果可以找到一个直线与所有的线段都相交,那么我们做一个垂直这个直线的垂线,所有的线段的投影一定都交于这个直线与垂线的垂足处,我们可以很轻松地画图验证这一定理. ...

  5. 模板 - 莫比乌斯反演(常用技巧)

    整理的算法模板合集: ACM模板 目录 莫比乌斯反演 常用技巧 经典模板例题 莫比乌斯反演 莫比乌斯函数: μ(n)={0∃i∈[1,m],Ci>1(−1)m∀i∈[1,m],Ci=1\mu(n ...

  6. 解题报告:P5960 【模板】差分约束算法(及常用技巧)

    P5960 [模板]差分约束算法 差分约束系统 给出 n 个变量和 m 个约束条件,形如 xi−xj≤ckx_i - x_j \leq c_kxi​−xj​≤ck​,你需要求出一组解,使得所有约束条件 ...

  7. Linux Shell常用技巧(三) sed

    Linux Shell常用技巧(三) sed 八.流编辑器sed 8.1 sed简介 sed是stream editor的缩写,一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区 ...

  8. Linux Shell常用技巧(目录)

    Linux Shell常用技巧(一) http://liuxuyang.blog.51cto.com/2546552/1289413 一. 特殊文件: /dev/null和/dev/tty 二. 简单 ...

  9. 【shell 大系】Linux Shell常用技巧

    在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...

最新文章

  1. 推荐8个冷门但硬核的软件和网站,你一定不能错过!
  2. 插入u盘计算机未响应,win7系统插入u盘死机怎么办|win7插入u盘无响应的解决方法...
  3. AWS ML deploy platform
  4. 华为报告称2013年大数据将引发IT系统大变革
  5. Android之jni编译出现no matching function for call to ‘_JNIEnv::GetJava(JNIEnv* , Java VM**)‘解决办法)‘
  6. 【Java】我的第一个 JAVA 程序:Hello,world!
  7. 使用Web界面登陆vSphere
  8. C语言 一个字符串翻转函数的编写
  9. 国二计算机考试office快捷键,全国计算机二级考试(Office)应试技巧
  10. dbt(data build tool) is an open source data transformation, and using Jinji templating
  11. 尼姆游戏-取硬币游戏
  12. PhotoShop中的自由变换UI实现
  13. Sublime Text 3 -mac版简体中文汉化教程
  14. Java 中 == 与 equals 区别,再确认一遍?
  15. Qt及Qt Quick开发实战精解项目二俄罗斯方块 items方法报错
  16. 第二章 第二节课 等效电路 惠斯通电桥 等效变换
  17. 深度学习中的顶层(top-layer)和底层(bottom-layer)
  18. 基于JAVA养老院老人日常生活管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  19. ekho 6.3 文字转换语言移植到arm开发板
  20. 浏览器兼容 —— Http、CSS

热门文章

  1. snubber电路总结
  2. 中医证型关联规则挖掘Python代码【完整】
  3. java中的元音 辅音_元音辅音分类表
  4. 手机相册中的照片如何导入备忘录?
  5. 双十一特辑:Python采集商品数据,实时了解商品价格
  6. 小学生C++编程基础 课程18(共6题)
  7. 基于毕设的微信小程序校园二手商城实现(一)
  8. 路由器的两种工作模式~~~
  9. 华为开发者大会主题演讲:3D建模服务让内容高效生产
  10. win10家庭版调出组策略(gpedit.msc)要求的函数不受支持