office_tools 版 (精华区)
发信人: hitwdh (一潭死水※痛并快乐着), 信区: office_tools
标 题: Gnuplot简介(2)(转载)
发信站: 哈工大紫丁香 (2004年04月10日18:52:04 星期六), 站内信件
【 以下文字转载自 Linux 讨论区 】
【 原文由 emacs 所发表 】
发信人: cdrom (自 由), 信区: GNU
标 题: Gnuplot简介(2)
发信站: 瀚海星云 (2003年02月18日13:57:59 星期二), 站内信件
gnuplot简介(2)
===============================================
5.1 hidden3d
有时候,画出来的3D图很难看懂,如下面这个函数
z = 2(x2 + y2)exp(-x2 - y2)
可以用下面的命令画出,(可以用 => set nogrid 去除 网格)
=> set grid
=> splot [-2:2] [-2:2] 2*(x**2 + y**2)*exp(-x**2 - y**2)
现在为了更容易看懂,这幅图片,可以
=> set hidden3d
=> replot
replot 命令可以重画最后一个 plot(splot) 命令所画的内容,
在用 plot 命令画图之后,又修改了画图设置,则需用 replot 重画
5.2 isosample
前面这幅图看起来有点儿粗糙,这时候可以增加画图的精度,对于
2D图可以使用 => set samples , 而对于 3D 图则用 => set isosamples
如 :
=> set isosamples x_rate , y_rate
默认值为 10 , 例如:
=> set isosample 30,30
=> splot [-2:2] [-2:2] 2*(x**2+y**2)*exp(-x**2-y**2)
=> set isosample 100,100
=> replot
应该注意到,越大精度所需要的画图时间也越多,一般不要取大于100
5.3 添加等高线
下列命令用于在画3D图时添加等高线:
=> set contour base - 在坐标在底面上画等高线
=> set contour surface - 在坐标在3D图表面上画等高线
=> set contour both - 在坐标在底面和3D图表面上画等高线
=> set nocontour - 无等高线
如:
=> set hidden3d
=> set contour base
=> splot [-2:2] [-2:2] 2*(x**2 + y**2)*exp(-x**2 - y**2)
又如
=> set nohidden3d
=> set contour surface
=> replot
如果只想要等高线图, 那么可以用命令 => set nosurface 不画表面
可以通过 => help set surface 取得更多的帮助, 画等高线图可以高度
定制,参见 => help set cntrparam 。 如,只想画 z=.2,.4,.6的等高线
=> set cntrparam levels discrete .2,.4,.6
5.4 改变视角
许多时候,可能需要改变图片的视角,可以使用这些命令:
=> set view horizontal_angle,vertical_angle
=> set view horizontal_angle,vertical_angle,zoom
=> set view ,,zoom
The first argument is the angle between the viewpoint and the horizontal
axis
of the screen. The second is the angle between the axis perpendicular to the
s
creen. The third number if the zoom factor.
想改回默认的视角,用
=> set view 60,30,1
下面演示如何改变视角:
=> set hidden3d
=> set isosamples 30
=> splot [-2.5:2.5] [-2.5:2.5] (x**2 + 3*y**2)*exp(1-(x**2 + y**2))
下面用:
=> set view 80,30
=> replot
或
=> set view 40,30
=> replot
==========================================================
6. 参数方程
Gnuplot 可以使用曲线的参数方程,可用下面的命令进行切换
=> set parametric
切回标准坐标模式可以用
=> set noparametric
为了画出参数方程 x=5\cos t & y=2\sin t [LaTeX语],可以用
=> set parametric
=> set xrange [-6:6]
=> set yrange [-6:6]
=> set trange[0:10]
=> set isosamples 60
=> plot 5*cos(t), 2*sin(t)
xrange, yrange 的值用于说明图形显示的范围,可以用 => set trange
命令设置参数计算的范围, plot 命令中用 ',' 分隔的前部分为 x 值方程,
而后面部分为 y 值方程
gnuplot 还支持3D图的参数方程,在这里自由变量用 u, v 。 使用[xyz]range
控制图形显示的范围,而用 set [uv]range 设置画图所用的参数范围。如:
=> set xrange [0:30]
=> set yrange [0:30]
=> set zrange [0:80]
=> set grid
=> splot 2*u, u**2 + v, v**2
如果改变 urange , vrange 可以得到不同的图片,如:
=> set vrange [-10:10] - this makes the graph taller
=> set urange [-7:7] - this makes the graph extend further
=> set isosamples 80
=> replot
=============================================================
7. 极坐标画图
可以用 => set polar 切换到 极坐标模式,
切回卡氏坐标用 => set nopolar
在极坐标模式下,自由变量仍使用x, 表示角度,极坐标画图始终画
在矩形框中,可以用 => set yrange 改变它的大小,同时改变水平垂
直方向。 如:
=> set polar
=> plot 3*cos(2*x)
默认的角度单位为 弧度[radians] , 但可以改为 度[degree], 如
=> set angles degrees
=> set angles radians
仅对 3D 数据画图才有 3D 极坐标画法, 参见 => help set mapping
============================================================
8 画数据图
--
※ 来源:·瀚海星云 bbs.ustc.edu.cn·[FROM: 61.177.116.221]
--
* Q: What is an experienced Emacs user?
* A: A person who wishes that the terminal had pedals.
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.230.220]
--
※ 转载:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: 202.118.237.15]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.325毫秒