>第四章

1. 设置命令

主要有set,unset,reset三个,显示设置的命令是show

如set style function points

unset style function points

show style function

reset

其中reset将所有设置恢复为默认状态(terminal和output除外)。

显示所有选项show all

显示详细版本信息(包括版权,联机文档,编译时的选项)

show version long

2. 数据文件中的换行应该和本地操作系统和关,比如linux下就应该使用linux的换行符(\n),windows下就应该使用windows下的换行符(\r\n)

3. 数据文件中的数字格式

和C语言没有什么两样,如浮点格式:1.7e-2

但是gnuplot也能识别Fortran格式的浮点型: 1.7d-2或1.7q-2, 对于这种格式,需要事先指定

set datafile fortran

4. 数据文件中的注释

注意,是数据文件中的注释,而不是脚本文件中的注释。

默认是#符号,但必须是该行的第一个字符,否则将不视为注释(这一点和脚本中的注释是不一样的)。注释行被gnuplot直接忽略。

标识注释的符号实际上由一个内部选项commentschar控制

show datafile comments          # NOTE: comments not commentschar由上面的命令可知道,commentschar的值默认为"#",该值也是可以改变的

set datafile commentschar "#!"可以指定多个符号,上面的命令表示,#或!都可以作为注释符号。显然,这里如果只指定一个符号,则原来的"#"就会被覆盖掉。

另外,为什么"show datafile comments"中不能使用commentschar?我也很费解。

5. 数据文件中的域分隔符

域分隔符其实就是列分隔符,默认情况下是一个或多个空白字符(空格, 制表符, 换行符)。

show datafile separator上面的命令默认情况下会显示whitespace。同样,这个选项也是可以设置的

set datafile separator ","注意,这个地方就只能设置为单个字符了。

下面两条命令是等价的,都是恢复到默认状态

set datafile separator whitespace

set datafile separator

6. 数据文件中的缺失值

默认情况下,空白被当成是分割符,这里需要指定缺失值。

set datafile missing "NaN"我尝试了一下,这个指定暂时没发现有什么意义,只要数据文件中有个占位的字符串,好像都被处理为缺失值。

plot命令的有两种对待缺失值的方式

plot "datafile" using 1:2 w lp      # continuous

plot "datafile" using 1:($2) w lp   # discontinuous前者直接忽略缺失值,但依然有直线相连;后者虽然也忽略缺失值,但缺失值前后是不相连的。

7. 数据文件中的字符串

列分隔符(默认是空格)如果出现在数据文件中的字符串中(字符串数据,不包括注释),必须用双引号括起来。

gnuplot支持使用scanf函数读取数据文件,也支持读取二进制文件。具体如何不详。

8. 检验当前gnuplot版本是否支持字符串操作show version long在该命令的结果中寻找+DATASTRINGS和+STRINGVARS这两个编译标志。如果有则说明支持字符串处理

9. 字符串

下面是合法的字符串

a = 'this is a string'

b = "First line\nSecond line"

c = "Double quote\" escaped"

d = 'single quote'' escaped'

这里说明一下,命令中的字符串和数据文件中的字符串是两码事,不要弄混了。

注意在单引号中是不能识别转义符(\)的,在双引号表示的字符串中出现双引号时使用转义符,而在单引号表示的字符串中出现单引号时要用两个单引号转义。

10. 字符串操作

整数可以隐式转成字符串,数字格式的字符串也可以隐式转为数字。

绰号如果列x = '3.14'

y = x + 2     # y=5.14

a = 4

b = a."foo"   # a should be integer注意,上面的点运算符(.)表示字符串的拼接。

b = "Hello "."world"字符串也有比较运算符: eq, ne

c = a eq b ? "same":"different"   # is equal

d = a ne b ? "different":"same"   # is not equalgnuplot中的字符串同样可视为一个字符数组,注意:第一个字符的下标是1

a = "Gnuplot"

b = a[2:3]                        # b = "nu"

c = a[2:]                         # c = "nuplot"

d = a[:4]                         # d = "Gnup"还可以自定义字符串函数

head(s) = s[1:3]

a = head("January")               # a = "Jan"其它内置函数:strlen(s), substr("str",i,j), strstrt("str","key"), words("str"), word("str",n), sprintf("format", ...), gprintf("format",...), system("cmd")

其中system函数是执行操作系统的命令。

11. 从数据文件中读取字符串作为标签

这个用法具体是指给每个点指定一个字符串显示在图上,就像地名一样。

因此,需要用using指定第三列字符串数据,当然这三列也可以用其它方法生成,比如stringcolumn函数。

plot "datafile" using 1:2:3 with labels

plot "datafile" using 1:2:(stringcolumn(2)) with labelsstringcolumn(N)和column(N)函数一样,都是得到当前行第N列的数据,只不过前者返回一个字符串,后者返回一个数。

除了数据点的标签,刻度也可以有标签. 下面的命令中的xticlabels的作用类似于stringcolumn函数,但这里的xticlabels貌似不是一个函数,而更像一条指令,即指定第三列为刻度标签。

plot "datafile" using 1:2:xticlabels(3) with lines

12. 指定图例字符串

plot "datafile" using 1:2 title "titleString" with lines

13. 产生文本输出

使用print函数。

print sin(0.3*pi)默认情况下,print函数输出到STDERR,但这个输出流是可以改变的

set print                        # print to STDERR, default

set print "-"                    # print to STDOUT

set print "filename" [append]    # print to file,append is optional

除了print可容易地产生本文之外,将将要绘制的每个点输出到文本文件中是另外一种方式。

set table "tablefile"如果plot使用的数据读自文件,那么读进来哪些点就输出哪些点,不会凭空生成。对于绘制函数或用smooth指令进行拟合时,输出哪些点是由set samples来控制的。

输出文件是有一定格式,其中有一些标识符: i表示在显示范围内,o表示在显示范围外,u表示未定义

最后,要想恢复原来的状态,不要忘了unset

unset table

14. 命令的历史

在命令行模式下,使用过的命令都会保存到一个历史命令缓存中,缓存的大小由historysize选项决定

set historysize 666

因此,按Up方向键会往前翻,按Down方向键会往后翻。状往命

history命令用来显示命令历史

history [quite] [max] ["filename" [append]]quite表示不显示序号,因为默认情况下是显示序号的。max表示最多打印最后的max个命令,filename则表示不输出到终端而是输出到文件,而append则是表示在输出到文件的情况下,采取附加的方式,而不是覆盖。

history还可以用来搜索命令

history ?"set term"该命令搜索历史中所有以"set term"开头的命令,并显示出来

history还可以通过匹配,然后执行最近的一条匹配的命令

history !"set term"该命令搜索历史中开头为"set term"的命令,然后执行最近的一条。

15. 图形显示时的热键

在使用plot或splot命令之后,在终端未改的情况下,会弹出一个显示图像的图形界面。该界面是有一些快捷键的。

空格键,就会从图形界面转为命令行界面,但这个功能在我的系统上没能实现,!==

l键,仅将y轴变成对数坐标

L键,将与鼠标最近的坐标轴变成对数坐标

r键,在鼠标的位置上生成一个大“十”字,用来更清晰地显示坐标。

g键,网格

u键,取消前一次放大动作

h键,显示帮助

放大图像的方法: 右键选择一个矩形区域,然后按左键

默认情况下,鼠标功能是打开的,如果没有打开,使用下面的命令打开。

set mouse

16. 交互式输入数据

即从命令行输入数据,这当然是不方便的,但是在脚本批处理模式下是很方便的。

plot '-'上面的命令表示按照提示手动输入数据,输完一行按回车转到下一行,以EOF符结束(linux下是Ctrl-D)。

linux中gnuplot给定文本,gnuplot笔记(四)相关推荐

  1. Linux中的简单文本处理

    文本处理命令 tr命令(可以用来删除一段文本信息中的某些文字,或者将其进行转换) 格式: tr [option] - SET1 [SET2] 可选参数: -d: 删除和set1匹配的字符 -s:去除s ...

  2. Linux中阶—加密库OpenSSL(四)

    在使用OpenSSL命令创建证书前,可查看配置文件/etc/pki/tls/openss.conf文件,查看该文件定义了的证书存放位置及名称. 一.server生成证书文件. 1.生成私钥:opens ...

  3. 关于 Linux 中安全方面的一些笔记

    写在前面 笔记是学习整理的,大都老师讲课内容,适合温习,不适合新手.整理了一份,希望对小伙伴有帮助. 生活加油,天天开心!博文主要围绕以几个方面: Linux基本防护:账户安全.文件系统安全.关闭不需 ...

  4. Linux中的高级文本处理命令,cut命令,sed命令,awk命令

    1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields    ## 用于有特定分隔字符 [r ...

  5. Linux中常见的环境变量笔记

    1.变量:BASH Bash Shell的全路径 比如:echo $BASH 2.变量:BASH_VERSION Bash Shell的版本号 3.变量:EUID 记录当前用户的UID.root用户值 ...

  6. linux中proc文件系统 -- ldd3读书笔记

    1./proc 文件系统概述 /proc 文件系统是由软件创建,被内核用来向外界报告信息的一个文件系统./proc 下面的每一个文件都和一个内核函数相关联,当文件的被读取时,与之对应的内核函数用于产生 ...

  7. linux cli运行脚本,AWS学习笔记(四)--CLI创建EC2时执行脚本

    当启动EC2实例时,可以向其传递用户数据来执行自动配置任务,支持两种类型的数据:shell脚本和cloud-init指令. Linux Shell 作为用户数据输入的脚本以root用户执行,因此不要在 ...

  8. linux中Iscpi命令详解(四)

    lscpi命令详解 lspci是一个用来查看系统中所有PCI总线以及连接到该总线上的设备的工具. 命令格式为 lspci -参数 (不加参数显示所有硬件设备) 我的电脑lspci显示结果为: 00:0 ...

  9. linux xen 管理,Linux 中的 XEN 虚拟化技术(四)管理 Xen 虚拟系统

    1.使用 xm命令管理 Xen虚拟机 A.显示运行状态 在命令行下使用"xm list"命令显示 Xen 虚拟系统当前运行的状况 [root@xen ~]# xm list Nam ...

最新文章

  1. python 办公自动化-Python办公自动化|从Excel到Word
  2. c语言某一行不被优化,C语言优化小技巧
  3. conda安装特定版本的包
  4. Portal-Basic Java Web 应用开发框架:应用篇(十一) —— 整合 Spring
  5. EOJ Monthly 2019.2 E 中位数 (二分+中位数+dag上dp)
  6. Linux中shell运行方式,linux脚本中父shell与子shell 执行的几种方式
  7. SpringBoot之Filter过滤器的实现及排序问题
  8. 5.1(统计正数和负数的个数然后计算这些数的平均值)
  9. 人与自然灵长类动物-湿地猎手(上)
  10. Vue - Nuxt.js 安装引入 WangEditor V5 富文本编辑器最新版本,超详细使用教程(Nuxt.js 项目使用官方提供的示例,页面报错,刷新就会报错navigator is解决方案)
  11. Q学习(Q-learning)入门小例子及python实现
  12. 初探Freebase和Wikidata的转换
  13. 分享sina的短链生成java代码
  14. 红帽6.4版本安装详细步骤
  15. 圣地亚哥大学计算机科学专业,加州大学圣地亚哥分校计算机科学与工程系
  16. C语言中的函数与数组详解
  17. 小程序内识别二维码调查
  18. WOW!这是最大的三极管!
  19. WSL2连接调用USB设备
  20. 使用DBLINK查询时报ORA-00600: internal error code, arguments: [kzdlk_zt2 err]

热门文章

  1. PyTorch碎片:PyToch和Torchvision对应版本
  2. 从零开始学习C语言(4)
  3. 往事如烟 - 老钟9
  4. PDF怎么编辑?PDF可以编辑吗?
  5. 蝶衣王推荐在家就能做的副业
  6. OkHttp简单使用
  7. 关于STL中的map用法
  8. 计算机监控如何控制调速器的,水电厂计算机监控系统功率调节的控制方式探索.doc...
  9. 怎样查删掉的通话记录
  10. HTML5离线存储利与弊