gnuplot 学习

参考:http://dsec.pku.edu.cn/dsectest/dsec_cn/gnuplot/index.html

画图实例:
___________________________
set title "Convex     November 1-7 1989"                    //设置标题
set xrange [1:8]                        //x 轴的范围
set label "(Weekend)" at 5,25 center                //设置 标记
plot 'tst.dat' using 3:4 title "Logged in" with impulses,/    //使用文件tst.dat中的第3到第四列的数据,以" Logged in" 为标题 画图 ,画笔为  条形图
     'tst.dat' using 3:5 t "Load average" with points,/        //画笔为 点
     'tst.dat' using 3:6 t "%CPU used" with lines        //画笔为 线

______________
#
# From Automatic Control Systems, fourth ed.,
# figure 6-14
# transient response of a second-order system
# to a unit step input function
#
damp(t) = exp(-s*wn*t)/sqrt(1.0-s*s)            
per(t) = sin(wn*sqrt(1.0-s**2)*t-atan(-sqrt(1.0-s**2)/s))
c(t) = 1-damp(t)*per(t)                        //函数定义
#
#       wn is natural undamped frequency
#       s is damping factor
#
wn = 1.0                            //变量指定数值
set xrange [0:13]
set samples 50                            //第50个 例子
set dummy t                            //设置t为变量
#
# plot c(t) for several different damping factors s
#
plot s=.1,c(t),s=.3,c(t),s=.5,c(t),s=.7,c(t),s=.9,c(t),/    //绘制 指定s 为不同值的情况下 函数 c(t)的图形
     s=1.0,c(t),s=1.5,c(t),s=2.0,c(t)

__________我的尝试__________________________

star(t)=a*(1+sin(t))//函数定义
set dummy t    //设置 t 为变量
plot a=1,star(t) t "Test 1" with line,a=2,star(t) t "tst 2" with impulse,a=5,star(t)title "Test3 "  with point //  带图例 指定形状



_________________
replot           //重复绘制
reread        //重新执行本指令文件

____________我的尝试_____________
f(x)=sin(x+a)
set dummy x
plot a=a+pi/12,f(x)
replot
reread
*******注意:在执行前要先对 a 赋值 ,比如: a=1


__-------_________________输出————————————————————————————————
set terminal postscript  //输出产生以 PostScript 语言描述的图形
set output "my.file"
plot sin(x)

//恢复图形到终端
set output
set terminal x11    //使得输出 恢复到 显示器

__输出为表格式__________
 
set terminal table
set output "my.file"
plot sin(x)


________--保存操作过程中的变量_____________
save "gnuplot.ini"         # 储存所有的命令、函数、常数、options 等。
   save functions 'func.dat'  # 储存所有的函数。
   save var 'var.dat'         # 储存所有的常数。
   save set "options.dat"     # 储存所有的绘图参数。
___________________-
cat /etc/issue
#  clear : 输入  clear  时,将萤幕及输出清除。
# help : GNUPLOT 提供线上辅助说明的功能。由此可得较多的说明。 其语法为 help {<topic>} 。
# print : print <expression> 将数学式的值印出。
# pause : GNUPLOT 提供暂停萤幕一段时间并显示一段文字的命令。其语法为
____________________-shell _______________________________-
我们也可将 gnuplot 命令放入 shell script 中执行。举例如下:

#! /bin/csh
        .
        .
        .
set datafile = Mydata
gnuplot << EOF
set terminal tex40xx
plot "$datafile" with lines
quit
EOF
        .
        .
        .

执行此 shell script 时,gnuplot 用线条画出 Mydata 档案中数值资料的图形。在第三行中的 gnuplot << EOF 为执行 gnuplot 并将其下的数行当做 gnuplot 的输入。 EOF 表示输入资料的起始及结束点,所以第四至第六行为 gnuplot 的输入资料。gnuplot 先设定输出装置为 tex40xx ,再画出变数 data1 所指定档案的内容,然后离开 gnuplot。



________________________________________
此附录为 GNUPLOT 在 UNIX 和 X 环境下执行的初始状态。

set terminal x11        # 设定输出装置为 X 终端机
set output              # 将输出送至标准输出
set noclip points       # 将接近的点依然画出
set clip one            # 当线段的端点出现在显示区域内时,才画此线段,否则不画
set noclip two          # 不将出现在显示区域内的部份线段绘出
set border              # 将图形外围加框
set boxwidth           
set dummy x,y           # 设定自变数名称为 x,y
set format x "%g"       # 设定 X 轴标点显示方式为 C 语言中 %g 格式
set format y "%g"       # 设定 Y 轴标点显示方式为 C 语言中 %g 格式
set format z "%g"       # 设定 Z 轴标点显示方式为 C 语言中 %g 格式
set nogrid              # 不产生网格
set key                 # 将函数名称或档案名称置于右上角
set nolabel             # 取消图上任何文字说明
set noarrow             # 取消图上任何线段
set nologscale          # 采取线性方式显示图形
set offsets 0, 0, 0, 0  # 不在图四周留下空白
set nopolar             # 采用 Cartesian coordinate
set angles radians      # 以径度量表示角度,范围[0:2*pi]
set noparametric        # 不采用参数式
set view 60, 30, 1, 1   # 旋转 X 轴 60 度 Z 轴 30 度
set samples 100, 100    # 设定 X 轴 (Y 轴) 的取样点数为 100 点
set isosamples 10, 10   # 在 3D 中,采用纵横各 10 条线构成图形曲面
set surface             # 在 3D 中,画出曲面
set nocontour           # 不画出 contour
set clabel              # 设定将 contour 所画每一条等高线以不同颜色表示
set nohidden3d          # 不用消去隐藏线的功能
set cntrparam order 4   
set cntrparam linear
set cntrparam levels auto 5
set cntrparam points 5
set size 1,1            # 设定图形长宽比例为 1:1
set data style points   # 以 points 作为绘数值资料的图案
set function style lines  # 以 lines 作为绘函数的图案
set xzeroaxis           # 设定显示 X 轴
set yzeroaxis           # 设定显示 Y 轴
set tics in             # 设定标点在轴的内面
set ticslevel 0.5  
set xtics               # X 轴标点以数字标示   
set ytics               # Y 轴标点以数字标示
set ztics               # Z 轴标点以数字标示
set title "" 0,0        # 图的标头不显示
set notime              # 不显示产生图形的时间
set rrange [-0 : 10]   
set trange [-5 : 5]     # 在 2D 参数式中以 t 为变数,此为设定显示区间
set urange [-5 : 5]     # 在 3D 参数式中以 u,v 为变数,此为设定显示区间
set vrange [-5 : 5]     # 在 3D 参数式中以 u,v 为变数,此为设定显示区间
set xlabel "" 0,0       # X 轴标头不显示
set xrange [-10 : 10]   # 设定 X 轴显示区间 -10,10 之间
set ylabel "" 0,0       # Y 轴标头不显示
set yrange [-10 : 10]   # 设定 Y 轴显示区间 -10,10 之间
set zlabel "" 0,0       # Z 轴标头不显示
set zrange [-10 : 10]   # 设定 Z 轴显示区间 -10,10 之间
set autoscale r
set autoscale t         # 自动调整 t 的显示区间使图可全部显示
set autoscale xy        # 自动调整 X 轴 Y 轴显示区间使图可全部显示
set autoscale z         # 自动调整 Z 轴显示区间使图可全部显示
set zero 1e-08          # 设定比 1e-08 小的正数为零


-------------------我shell中调用gnuplot的例子---------------
#my.cmd
f(x)=sin(x+a)
set dummy x
plot a=a+pi/12,f(x)
replot
reread

#shell.cmd

gnuplot << EOF
set terminal x11
a=1
load "my.cmd"
EOF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值