欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

gnuplot 入门教程 2

程序员文章站 2022-05-22 17:26:03
...

几年前写的一篇短文,今天找东西时翻出来了,感觉写的还是比较实用的。放在这里供有需要的人参考吧。 3D 绘图 例11: splot [-pi:pi] [-pi:pi] sin(x)*cos(y) 产生图 2 结果 --- 以纵横各 10 条线组成的网画出 sin(x)*cos(y) 的图形。 图 3Plottingsin(x)*co

几年前写的一篇短文,今天找东西时翻出来了,感觉写的还是比较实用的。放在这里供有需要的人参考吧。

3D绘图

例 11:

splot [-pi:pi] [-pi:pi] sin(x)*cos(y)

产生图 2结果 --- 以纵横各 10 条线组成的网格画出 sin(x)*cos(y) 的图形。

gnuplot 入门教程 2

3 Plotting sin(x)*cos(y)

例 12 画等高线图:

set dgrid3d 100,100 #设置三维图表面的网格的数目
set contour    #设置画等高线
set cntrparam  levels  incremental -0.9,0.1,0.9   #设置等高线的疏密和范围,数据从   -0.2到0.2中间每隔0.01画一条线
unset surface  # 去掉上面的三维图形
set view 0,0
unset key
splot [-pi:pi] [-pi:pi] sin(x)*cos(y)

gnuplot 入门教程 2

例 13 画pm3d

set pm3d
set isosamples 50,50
splot x**2+y**2
gnuplot 入门教程 2
set view 0,0 #设置视角,(0,0)将投影到底面上去
unset ztics #把z轴上的数字给去掉
unset surface
splot x**2+y**2
reset
gnuplot 入门教程 2

输出文件

在启动时,您可能注意到终端类型设置为 X11gnuplot采用标准设计,可以在多个终端设备上绘图。这包括直接打印到多种打印机中,包括 EpsonHP Imagen 打印机。它甚至可以在伪设备中绘图,如 postscript png。这主要涉及生成输出文件,而不是可查看文件或打印输出。这是将您的图表包含在其他报表中的一种技巧。

例 14 设置输出和终端类型

set terminal png     # gnuplot recommends setting terminal before output
set output ‘output.png’  # The output filename
plot sin(x)

现在,文件 output.png 中有了您刚才绘制的图。

所有终端在能力上都不相同。其中的一些(如 LaTeX)可能不支持文本的旋转,所以如果您像我们前面那样设置 ylabel,在不同的终端中可能显示不一样。换句话说,您可以在 LaTeX 的特定终端中使用 LaTex 命令。例如,set ylabel $sin(\\\\theta)$(注意我们使用两个反斜杠产生一个 LaTex 所需的反斜杠 —— gnuplot 在将双引号中所括的字符串传送到终端驱动程序之前,先对其进行反斜杠处理)。现在,您可以使用 \\input{output.tex} 将输出文件包含在 LaTeX 文件中。要在 PostScript 终端中获得相同的结果,使用相应的 PostScript 命令:{/Symbol q}。在 enhanced PostScript LaTeX 中,您可以使用表示法 x^{superscript} x_{subscript} 得到上标文字。还要注意缩写的终端和输出命令:

例 15 eps 驱动程序的能力

set term post enh    # enhanced PostScript, essentially PostScript with bounding boxes
set out 'gplt.eps'
set xlabel '{/Symbol q_1}
set ylabel 'sin^2({/Symbol q_1})'
plot sin(x)**2

其他

顺便说一下,我们提供的所有例子都可以在交互模式或批处理模式下运行。要以交互模式运行,在提示符中输入每个命令。要以批处理模式运行,将命令输入或添加到文本文件中,然后在 gnuplot提示符中使用 load 'filename' 读入文件,或者在 shell 提示符下将其作为参数提供给 gnuplot$ gnuplot filename。使用第二种方法,gnuplot会在执行输入文件中的所有命令后退出,所以当直接绘图到文件中时,采用批处理模式执行特别有效。如果在屏幕上绘图时使用第二种方法,输出窗口一出现(当 gnuplot退出时)就会消失,所以您需要使用显式的“pause -1”命令(请参阅 help pause)来保持窗口。

X 环境下,gnuplot 如同其他 X client 程序一样,可接受许多参数。如

gnuplot -font 8x13bold      # 设定字形为 8x13bold。
gnuplot -geometry 900x700  # 设定窗口的长为 900 pixel 宽为 700 pixel。
gnuplot -bg black            # 设定背景颜色为黑色。

gnuplot 绘制数学函数或数值资料的步骤大体如:

定义常数及函数:定义常数及函数,使程式模组化及易于了解。

设定绘图环境:gnuplot 绘图之前已预先设定许多绘图参数。

绘图:在定义数学函数或设定绘图环境之后,接着就是绘出数学函数或数值资料的图形。gnuplot 提供操作方便的绘图指令——plot (2D) splot (3D)

产生输出结果:在终端上绘出结果后,可经由一些步骤而产生不同输出装置所需的输出。

依照上述过程,可快速地画出图形。剩下的步骤就是细心的调整绘图环境参数或修改函数方程式、常数等,即可得到满意的结果。