gnuplot 入门教程 2
几年前写的一篇短文,今天找东西时翻出来了,感觉写的还是比较实用的。放在这里供有需要的人参考吧。 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) 的图形。

图 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)

例 13 画pm3d图
set pm3d set isosamples 50,50 splot x**2+y**2

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

输出文件
在启动时,您可能注意到终端类型设置为 X11。gnuplot采用标准设计,可以在多个终端设备上绘图。这包括直接打印到多种打印机中,包括 Epson、HP 和 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)。
产生输出结果:在终端上绘出结果后,可经由一些步骤而产生不同输出装置所需的输出。
依照上述过程,可快速地画出图形。剩下的步骤就是细心的调整绘图环境参数或修改函数方程式、常数等,即可得到满意的结果。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

wapi这个名词用户们可能在使用网络得时候见到过,但是对于一部分人来说肯定都不知道wapi是什么,下面就带来了详细介绍,帮助不知道小伙伴去了解。wapi是什么东西:答:wapi是无线局域网鉴别和保密的基础结构。这就像红外线和蓝牙等功能一样,一般都覆盖在办公楼等地方的附近。基本都是为一个小部门所有的,所以这个功能涉及的范围只有几公里。wapi相关介绍:1、wapi是无线局域网里面的一种传输协议。2、这款技术是可以去避免窄频带通信的问题,可以更好的去进行传播。3、仅仅只需要一个代码就可以去传送信号了

随着互联网技术的不断发展,Web开发技术也在不断更新迭代。PHP作为一种开源的编程语言,在Web开发中拥有广泛的应用。而PHP框架作为PHP开发中常用的工具之一,能够提高开发效率和代码质量。本文将为大家介绍一个PHP框架——CakePHP,并提供一些简单入门的教程。一、什么是CakePHP?CakePHP是一个基于MVC(Model-View-Control

LINUX是一种广泛使用的操作系统,它具有高度的可定制性和稳定性,CentOS是基于RedHatEnterpriseLinux(RHEL)源代码构建的一个免费开源的操作系统,被广泛用于服务器和桌面环境,在CentOS上安装软件包是日常使用中常见的任务之一,本文将介绍如何在CentOS上安装gnuplot和解决向日葵软件缺少依赖的问题。Gnuplot是一款功能强大的绘图工具,它可以生成各种类型的图表,包括二维和三维的数据可视化,要在CentOS上安装gnuplot,您可以按照以下步骤进行操作:1.

简明易懂的MyBatis入门教程:一步一步编写你的第一个程序MyBatis是一种流行的Java持久层框架,它简化了与数据库交互的过程。本教程将为您介绍如何使用MyBatis创建和执行简单的数据库操作。第一步:环境搭建首先,确保您的Java开发环境已经安装好。然后,下载MyBatis的最新版本,并将其添加到您的Java项目中。您可以从MyBatis的官方网站下

Lumen是Laravel框架开发者开发的一款基于PHP的微框架,它的设计初衷是为了快速构建小型的API应用和微服务,同时保留了Laravel框架的部分组件和特性。Lumen框架轻量级、快速、易上手,因此受到了广泛的关注和使用。在本篇文章中,我们将快速入门Lumen框架,学习如何使用Lumen框架构建简单的API应用。框架准备在学习Lumen框架之前,我们需

PythonFlask框架入门教程Flask是一个简单易用的PythonWeb框架,它更注重灵活性和轻量性,允许程序员按照自己的喜好进行构建。本文将为大家介绍Flask的基本概念、安装和使用,并通过一个简单的示例来演示如何使用Flask构建一个Web应用程序。什么是Flask?Flask是一个基于Python的轻量级Web应用框架,它不需要使用任何特殊的

Java邮件发送教程:快速入门与实例演示近年来,随着互联网的普及和发展,电子邮件已经成为人们日常生活和工作中不可或缺的一部分。而通过Java编程语言发送电子邮件,不仅可以实现快速高效的邮件发送,还可以通过自动化方式大大提高工作效率。本文将介绍如何在Java中使用JavaMail库进行邮件发送,并通过具体代码示例演示。第一步:JavaMail库的导入和配置首先

随着互联网技术的不断发展,各种语言和框架也应运而生。而PHP作为一种广泛使用的脚本语言,在网站开发上有着广泛的应用。在PHP框架中,ThinkPHP是一种非常优秀的框架,它提供了强大的功能和良好的性能,使用它可以大大地提高网站的开发效率。在本篇文章中,我们将为大家介绍ThinkPHP框架的入门教程,帮助您快速掌握这个优秀的框架。一、什么是ThinkPHPTh
