例1:sin(x)*cos(y)

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

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

例2:画等高线图

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

例3:画pm3d图

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

输出文件

例4:设置输出和终端类型

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

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

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

例 5:eps 驱动程序的能力

所有终端在能力上都不相同。其中的一些(如 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} 得到上标文字。还要注意缩写的终端和输出命令。

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

其他

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

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

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

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

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

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

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

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

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

gnuplot 入门教程之3D绘图相关推荐

  1. ​HealthKit开发快速入门教程之HealthKit数据的操作

    ​HealthKit开发快速入门教程之HealthKit数据的操作 数据的表示 在HealthKit中,数据是最核心的元素.通过分析数据,人们可以看到相关的健康信息.例如,通过统计步数数据,人们可以知 ...

  2. HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID

    HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID HealthKit开发准备工作 在开发一款HealthKit应用程序时,首先需要讲解HealthKit中有哪些类,在i ...

  3. HealthKit开发快速入门教程之HealthKit开发概述简介

    HealthKit开发快速入门教程之HealthKit开发概述简介 2014年6月2日召开的年度开发者大会上,苹果发布了一款新的移动应用平台,可以收集和分析用户的健康数据.该移动应用平台被命名为&qu ...

  4. nodejs入门教程之http的get和request简介及应用

    nodejs入门教程之http的get和request简介及应用 前言 上一篇文章,我介绍了nodejs的几个常用的模块及简单的案例,今天我们再来重点看一下nodejs的http模块,关于http模块 ...

  5. python语言if语句-Python入门教程之if语句的用法

    这篇文章主要介绍了Python入门教程之if语句的用法,是Python入门的基础知识,需要的朋友可以参考下 OK分享完毕!需要Python资料的可以加QQ群:832339352 进群免费领取下面资料! ...

  6. java jni helloword_JNI入门教程之HelloWorld篇

    JNI入门教程之HelloWorld篇 来源:互联网  宽屏版  评论 2008-05-31 09:07:11 本文讲述如何使用JNI技术实现HelloWorld,目的是让读者熟悉JNI的机制并编写第 ...

  7. linux lvm界面,Linux使用入门教程之LVM

    Linux使用入门教程之LVM 1.pvscan #查看当前系统是否存在 PV(物理卷) 2.fdisk -l #查看当前系统分区 3.pvcreate /dev/sda{5,6} /dev/sdb1 ...

  8. php zend framework 教程,Zend Framework入门教程之Zend_Session会话操作详解

    本文实例讲述了Zend Framework入门教程之Zend_Session会话操作.分享给大家供大家参考,具体如下: 会话命名空间 实现会话 代码: require_once "Zend/ ...

  9. feapder入门教程之AirSpider

    文章分两部分,先简单介绍下feapder,然后通过阅读原文里的视频教程教大家快速上手feapder.相信你耐心看完,会有所收获! 目录 简介 1.拥有强大的监控,保障数据质量 2. 简单易用,框架内置 ...

最新文章

  1. 自动驾驶之路已走了多远?一文读懂研究现状
  2. DIY三通道程控直流电源
  3. 百万年薪挖了个P8程序员,难道是“水货”?
  4. 判断字符串1是否在字符串2中出现的方法
  5. python鱼眼图像识别_一种融合鱼眼图像与深度图像的动态环境视觉里程计方法与流程...
  6. 全球及中国低温纳米定位器行业发展趋势分析与风险评估报告2021-2027年版
  7. cocos2d-x 3.X (二)创建动起来的精灵
  8. ADO.Net之SqlConnection、 Sqlcommand的应用(读书笔记1)
  9. python接口编程的好处_python接口自动化测试
  10. Python编程之输出素数
  11. 人脸识别错误代码437是什么意思_英雄联盟手游unabletologin什么意思?显示unabletologin解决方法[多图]-攻略...
  12. Google SEO入门教程,技术 SEO 简介
  13. tony的js学习笔记--基础知识(随时更新)
  14. 解决vue用ckplayer播放器pc端可以正常使用但是移动端提示:please use the http protocol to open the page
  15. linux查看UID命令,Linux下查看UID
  16. uniapp手机号一键登录
  17. 求web嘎嘎厉害的朋友
  18. ip地址位置提供商查询 cip.cc/ip
  19. python web开发-Python Web开发从入门到精通
  20. 长时间使用有毒有害气体检测设备后应注意的事项有什么

热门文章

  1. 对日项目中的PG/SE/PL/PM中负责的工作是什么?
  2. Javascript判断Maxthon浏览器
  3. 2023版交易猫源码+全开源+附教程
  4. 微信 根据当前地理位置经纬度计算1000米以内的经纬度范围 php版
  5. github的一些快捷键和在线编辑器
  6. 轮式移动机器人基础及滑模控制仿真
  7. 物联网(IoT)技术领域-lora技术简介及相关技术间的对比分析
  8. Seata-go 1.0 重磅发版
  9. Mac堡垒机密码加身份验证器动态口令全自动登录(带全局登录命令)
  10. 微信小程序怎么在wxml中插入多个图片_22. 教你零基础搭建小程序:小程序的常见组件(2)- image