gnuplot> set terminal x11 %输出到屏幕(Linux) gnuplot> set terminal postscript portrait noenhanced monochrome blacktext \ dashed dashlength 1.0 linewidth 1.0 defaultplex \ palfuncparam 2000,0.003 \ butt "Helvetica" 14' gnuplot> set output "test.ps" %输出到PS文件, 以便插入到LaTeX文件中. gnuplot> set terminal png small color picsize 640 480 gnuplot> set output "test.png" %输出到图像文件, 以便插入到html文件中.
gnuplot> plot "test2d.dat" with lines %绘制曲线图(二维图形)
gnuplot> splot "test3d.dat" with lines %绘制曲面图(三维图形)
test2d.dat 中的数据为两列, 第一列对应横坐标, 第二列为纵坐标(函数值)
test3d.dat 中的数据为三列, 第一,二列对应坐标, 第三列为纵坐标(函数值),
例如:
x1 y1 z11
x1 y2 z12
x1 y3 z13
//空一行!
x2 y1 z11
x2 y2 z12
x2 y3 z13
//空一行!
x3 y1 z11
x3 y2 z12
x3 y3 z13
gnuplot> unset surface %不绘制表面图
gnuplot> set contour %绘制等值线图
gnuplot> set cntrparam levels discrete .1,1/exp(1),.9 %定制等值线
gnuplot> set cntrparam levels auto 5
gnuplot> set view 0,0
set hidden3d; set ticslevel 0; set parametric
set isosamples 28,14
set urange [0:2*pi]; set vrange [-pi:pi]
set size 0.8,1; set view 60,20,1,1
set ticslevel 0
splot cos(u)+.5*cos(u)*cos(v),sin(u)+.5*sin(u)*cos(v),.5*sin(v), \
1+cos(u)+.5*cos(u)*cos(v), .5*sin(v), sin(u)+.5*sin(u)*cos(v)
set term table
set out "tori.table"
replot
!gnuconvf -s 200 -i tori.table -o tori.ppm -r 0.85 -X50 -Y-100 -Z50
!convert -transparency black tori.ppm tori.jpg
set samples 36 set isosample 36,36 set hidden3d set ticslevel 0 splot sin(x)*sin(y)/x/y set term table set output "3dsurf.table" replot !gnuconvf -s 200 -i 3dsurf.table -o 3dsurf_p.ppm !display ./3dsurf_p.ppm !gnuconvf -s 200 -i 3dsurf.table -o 3dsurf_f.ppm -f !display ./3dsurf_f.ppm !gnuconvf -s 200 -i 3dsurf.table -o 3dsurf_l.ppm -l !display ./3dsurf_l.ppm
set hidden3d; set ticslevel 0 set parametric; set samples 30; set isosamples 30,30 set ticslevel 0; set size 0.7,1 set urange[0:3.1*pi]; set vrange[-pi:pi] x(u,v)=u*(1+0.5*cos(v))*cos(u) y(u,v)=0.5*u*sin(v) z(u,v)=-u*(1+0.5*cos(v))*sin(u) splot x(u,v),y(u,v),z(u,v) set term table; set out "3dsurf.table" replot !gnuconvf -s 200 -i 3dsurf.table -o 3dsurf7.ppm -c0.7,0.6,0.2 !ppmchange black cadetblue 3dsurf7.ppm > shell.ppm !convert shell.ppm shell.jpg
set parametric; set hidden3d
set vrange[0:2*pi]
set isosamples 31,31;set ticslevel 0
a=1.0; b=4.0; u0=atan(a/b)
set urange[0:u0*3]
r(u)= u < u0 ? b*tan(u) : a
x(u,v) = r(u)*cos(v)
y(u,v) = r(u)*sin(v)
z(u) = u < u0 ? b : a/tan(u)
splot x(u,v),y(u,v),z(u)
set term table
set out "cylinder1.table"
replot
!gnuconvf -i cylinder1.table -o cylinder1_cnv.ppm -F -X80 -Y-80\
-c0.0,0.7,0.7 -g -s 200
!convert cylinder1_cnv.ppm cylinder1_cnv.jpeg
!display cylinder1_cnv.jpeg
# 修改绘制图形的类型,包括线的宽度等,定义min和max函数。
min(x,y) = (x < y) ? x : y
max(x,y) = (x > y) ? x : y
set term post port color 15
set output "penalty-plot2.eps"
set style line 1 linetype 1 linewidth 8
set style line 2 linetype 2 linewidth 8
set style line 3 linetype 3 linewidth 8
set style line 4 linetype 4 linewidth 8
set style line 5 linetype 5 linewidth 8
set style line 6 linetype 6 linewidth 8
set style line 7 linetype 7 linewidth 8
set yrange[0:100]
plot [x=0.1:10] 100./x+200*(max(0.0,x-5))**2 w l ls 1,\
100./x+20*(max(0.0,x-5))**2 w l ls 2,\
100./x+2*(max(0.0,x-5))**2 w l ls 3,\
100./x+0.2*(max(0.0,x-5))**2 w l ls 4,\
100./x+0.0*(max(0.0,x-5))**2 w l ls 5
# 改变“符号”的大小 set xrange[0:2*pi] set pointsize 2 plot sin(x) with points 1 6
# 改变图形的“边框(border)”的类型 set border 3 set xtics nomirror set ytics nomirror
# 绘制正态分布或高斯分布用于PDFLatex制作的幻灯片
set term wxt enhanced #此处的"enhanced"用于插入希腊字符
set style line 1 linetype 1 linewidth 8
set style line 2 linetype 2 linewidth 8
pl exp(-(x-0.0)**2/2./2./2.)/2./sqrt(2.*pi) w l ls 1 t "{/Symbol s}=2",\
exp(-(x-0.0)**2/2./3./3.)/3./sqrt(2.*pi) w l ls 2 t "{/Symbol s}=3"
set term post port solid color enhanced 20
set out "normal.eps"
replot
# 使用上标或下标
gnuplot> set terminal postscript eps enhanced
gnuplot> set key spacing 1.3
gnuplot> set xrange [ 0 : pi ]
gnuplot> set yrange [ 0 : 1.5 ]
gnuplot> plot sin(x)**2 ti "sin^2(x)", \
sin(x)**3 ti "sin^3(x)",\
sqrt(sin(x)) ti "sin^{1/2}(x)"
希腊字符对照表.
| ALPHABET | SYMBOL | ALPHABET | SYMBOL | alphabet | symbol | alphabet | symbol |
|---|---|---|---|---|---|---|---|
| A | Alpha | N | Nu | a | alpha | n | nu |
| B | Beta | O | Omicron | b | beta | o | omicron |
| C | Chi | P | Pi | c | chi | p | pi |
| D | Delta | Q | Theta | d | delta | q | theta |
| E | Epsilon | R | Rho | e | epsilon | r | rho |
| F | Phi | S | Sigma | f | phi | s | sigma |
| G | Gamma | T | Tau | g | gamma | t | tau |
| H | Eta | U | Upsilon | h | eta | u | upsilon |
| I | iota | W | Omega | i | iota | w | omega |
| K | Kappa | X | Xi | k | kappa | x | xi |
| L | Lambda | Y | Psi | l | lambda | y | psi |
| M | Mu | Z | Zeta | m | mu | z | zeta |
You can also specify various postscript characters by octal codes, for example, {/243} is a pound (L) mark, {/247} is a section mark. See ps_guide.ps which comes with gnuplot source distribution in detail.
The next example is to draw the linear function y=Alpha x+ Gamma and two Greek letters with those values in the figure.
gnuplot> set terminal postscript eps enhanced
gnuplot> set xrange [ 0 : 5 ]
gnuplot> set label "{/Symbol a}=0.5, {/Symbol g}=0.2" at 2,0
gnuplot> plot 0.5*x-0.2 ti "y={/Symbol a}x-{/Symbol g}"
# 在一个框里绘制多个图形 set multiplot; # get into multiplot mode set size 1,0.5; set origin 0.0,0.5; plot sin(x); set origin 0.0,0.0; plot cos(x)