参考: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