gnuplot 学习小计3-字符串 读取文件
2013-04-20 05:02
330 查看
本次要点:
字符串显示、连接、单双引号。
数据文件中的注释符、间隔符。
双引号字符串是识别转义符的,所以要使用“\n”的话,记得要用双引号字符串。
还可以指定多种注释符,例如我即想用“#”,同时还想用“!”,可以这样写:
显示注释符所用的关键字有所不同:
gnuplot可以指定数据文件的分隔符:
官网文档中明确指出:默认情况下datafile missing是没有设置任何值的,作为补充默认情况下gnuplot将所有出现在应该是数字的地方的不可解析的字符串(诸如Inf, NaN是可以解析有意义的字符串)都作为缺值。
plot命令的有两种对待缺失值的方式:
未解决!
如果您知道怎么办,请在回复里告诉我,我可以和大家分享这个知识,先谢谢了!
字符串显示、连接、单双引号。
数据文件中的注释符、间隔符。
1,字符串操作:
打印字符串命令:
printprint 'abc' print 123 print "xxx"
采用“.”号来连接字符串。
set title 'abc'.'xxx'另一个比较有用的用法是先定义一个字符串变量,然后每次去修改这个变量,例如:
name='1_2' set title 'data in '.name plot 'datafile_'.name.'.txt' name='1_3' ...这样每次只用修改一下name变量,其他绘图函数都不用变。这样非常方便我们绘制大量性质相同的图片。
单双引号
单引号的字符串是不识别转义符的,即一个原始字符串。双引号字符串是识别转义符的,所以要使用“\n”的话,记得要用双引号字符串。
2,文件操作
注释符
像上次说的默认情况下的注释符是“#”,但是对于有些已经生成或下载的数据,再改起来很麻烦。可以手动指定文件中的注释符号。set datafile commentschar "!"这样就指定了使用感叹号作为注释符,若行首是“!”则略过该行。
还可以指定多种注释符,例如我即想用“#”,同时还想用“!”,可以这样写:
set datafile commentschar "#!"这也就是说,gnuplot不支持组合的注释符,即注释符必须是一个字节。
显示注释符所用的关键字有所不同:
show datafile comments
分隔符
gnuplot默认是使用的空白符(空格、制表符)进行分隔的,但是打开csv文件的时候,我们需要指定它改用逗号分隔。上次我学到的是使用格式说明方法:plot 'a.csv' using 1:2 "%lf,%lf"其实这种方法在这里用,有点大材小用了。
gnuplot可以指定数据文件的分隔符:
#使用逗号 set datafile separator "," #恢复到默认状态: set datafile separator #使用空白符(默认): set datafile separator whitespace #显示分隔符: show datafile separator
缺值(missing value)
有的时候文件中有一些位置是没有记录到数据的,例如某些探测器失灵的时候,在数据文件中我们可以使用诸如“NaN”、“-”之类的记号表示空缺。那么我们需要告诉gnuplot我们使用的记号,让gnuplot自动过滤掉这些东西,而不影响其他数据的读取和理解。set datafile missing "NaN"<span style="font-family:宋体, Arial;font-size:14px;color:#666666;"><span style="line-height: 19px; background-color: rgb(241, 241, 241);"> </span></span><pre name="code" class="plain">set datafile missing "-" <pre name="code" class="plain">set datafile missing "0" #某些特殊情况下我们使用了某个数字来表示缺值
官网文档中明确指出:默认情况下datafile missing是没有设置任何值的,作为补充默认情况下gnuplot将所有出现在应该是数字的地方的不可解析的字符串(诸如Inf, NaN是可以解析有意义的字符串)都作为缺值。
plot命令的有两种对待缺失值的方式:
plot "datafile" using 1:2 w lp # continuous plot "datafile" using 1:($2) w lp # discontinuous前者直接忽略缺失值,但依然有直线相连;后者虽然也忽略缺失值,但缺失值前后是不相连的。
默认值(default value)
在数据缺失(missing)之后,有时需要指定一个默认值来让gnuplot在画图时可以用来自动代替它们,而不是忽略它们。未解决!
如果您知道怎么办,请在回复里告诉我,我可以和大家分享这个知识,先谢谢了!
相关文章推荐
- Jsoup学习笔记9:Jsoup 解析saz文件,读取其中的htm文件到字符串,提取字符串中的数据写入csv文件中
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
- gnuplot 学习小计2-时间、文件、数据选择、平滑
- 20121017c++学习笔记,文件读取,字符串相关
- 学习进程01 - 总结归纳【读取文件的方法】以及【字符串操作】
- 读取和保存一个对象到文件方法总结(字符串形式)
- 黑马程序员_学习日记40_605基础加强(自定义泛型、装拆箱、foreach、文件操作、字符串与byte数组转换)
- python学习心得(1) --- 大型文件的读取
- python学习(8)————读取文件
- 建立一个程序,写2个线程,同时对一个文件里面写入字符串,另外一个程序读取输出在控制台,保证读取的实时性。
- 一个模式字符串,一个替换用字符串,以及两个文件名 它应该读取第一个文件, 并将内容写入第二个文件
- Java学习(二十一):Properties配置文件的读取
- Smarty 学习笔记四 配置文件的读取
- 把配置文件以json字符串格式保存,并读取放到一个map中
- C++中利用文件输入对象(即ifstream对象)来读取文本文件中带空格的字符串以及混合输入数字与字符串
- Tensorflow学习笔记之用TF读取csv文件的限制
- 学习使用资源文件[7] - 字符串资源
- 0702学习笔记提示和传递和文件读取读写1
- Android 学习 应用使用大文件的方法 读取sd卡的数据库
- C#学习笔记15:字符串、文件、目录的操作方法