网上关于Gnuplot三维绘图的介绍比较少,我在这里做下自己学习记录,详细的代码注释就不想写了,我自己是参考官方帮助文档和在bookzz.org下载的一本英文电子书学习的,不想翻译了,有兴趣的话可以自己查阅相关资料,很多详细参数设置都能在帮助文档找到,比如
show colornames
可以输出颜色的名称,对绘图有很大帮助。其他的介绍在其他博文有很多介绍我就不说了,写完这篇还要忙着复习考试。。。
1、Making a surface plot
reset
set isosamples 40
unset key
set hidden3d
set title "J_0(r^2)"
set xrange [-4:4]
set yrange [-4:4]
set ztics 1
splot besj0(x**2+y**2)
set view 29,53 #Done implicitly by mousing.
set term pngcairo mono enhanced
#set out 'bessel.png'
replot
结果如下:
2、Coloring the surface
pm3d是palette-mapped 3d,可以理解为调色板,为surface润色
reset
set isosamples 100
set samples 100
unset key
set title "J_0(r^2)"
set xrange [-4:4]
set yrange [-4:4]
set ztics 1
unset surface
set pm3d
splot besj0(x**2+y**2)
结果如下:
3、Making a contour plot
reset
f(x,y) = 3*(1-x)**2*exp(-x**2-(y+1)**2)-10*(x/5-x**3-y**5)*exp(-x**2-y**2)-1/3*exp(-(x+1)**2-y**2) #matlab的peaks函数
set cntrparam levels 10
set contour both
unset sur
set view map
set xrange [-4:4]
set yrange [-4:4]
set iso 100
set samp 100
set key rmargin
splot f(x,y)
结果如下:
4、Plotting a path in 3D
reset
set samp 100
set xtics .4
set ytics .4
set parametric
set urange [-pi:pi]
set ztics 1
splot cos(u),sin(3*u),cos(5*u) lw 2
结果如下:
5、Drawing parametric surfaces
5.1
reset
set param
set iso 50
set ztics .5
set xtics .4
set ytics .4
set hidden3d
set urange [-pi:pi]
set vrange [-pi:pi]
splot cos(u)*cos(v), sin(u)*sin(v), sin(u)
结果如下:
5.2
reset
set param
set iso 50
set ztics .5
set xtics .4
set ytics .4
set urange [-pi:pi]
set vrange [-pi:pi]
set pm3d depthorder
splot cos(u)*cos(v), sin(u)*sin(v), sin(u) with pm3d
结果如下: