gnuplot提高篇

本文详细介绍了使用Gnuplot进行复杂图形绘制的方法,包括在同一张图中绘制多个子图、调整坐标轴比例、利用双y轴绘图、插入特殊符号、绘制等高线图及pm3d图等高级技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

gnuplot>set multiplot %设置为多图模式   
gnuplot>set origin 0.0,0.0%设置第一个图的原点的位置   
gnuplot>set size 0.5,0.5 %设置第一个图的大小   
gnuplot>plot “a1.dat”   
gnuplot>set origin 0.0,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.0,0.0 %设置第四个图的原点的位置
gnuplot>set size 0.5,0.5 %设置第四个图的大小   
gnuplot>plot “a4.dat”
     
当然,如果后一个图中的某个量的设置和前一个的相同,那么后一个中的这个量的设置可以省略。例如上面对第二、第三和第四个图的大小的设置。前一个图中对某个量的设置也会在后一个图中起作用。如果要取消在后面图中的作用,必须用如下命令,如取消label,用

gnuplot>unset label

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

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’

  1. 如何在同一张图里利用左右两边的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设置坐标轴名称的颜色

  1. 如何插入希腊字母和特殊符号
    一般只能在ps和eps图中,且必须指定enhanced选项。在X11终端(即显示器)中无法显示。

gnuplot> set terminal postscript enhanced
 
然后希腊字母就可以通过{/Symbol a}输入。例如

gnuplot> set label ‘{/Symbol a}’

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

  1. 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’代表那一列的所有符号都用这个方法输入。

  1. 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再变化一周,作为下一数据块,等等。块与块之间用一空行格开。

  1. 输出为ps或eps图时,以下几个选项值得特别注意

gnuplot>set term postscript eps enh solid color

其中eps选项表示输出为eps格式,去掉则表示用默认的ps格式;enh选项表示图中可以插入上下标、希腊字母及其它特殊符号,如果去掉则不能插入;solid选项表示图中所有的曲线都用实线,去掉则将用不同的虚线;color选项表示在图中全部曲线用彩色,去掉则将用黑白。

  1. 如何画漂亮的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 %重画,注意看变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值