gnuplot:从数据中的字符串中提取x值

时间:2015-05-08 18:36:32

标签: gnuplot

我的数据文件如下所示:

c0e0100.dat 0.234
c0e0200.dat 0.857
...
c0e1200.dat 0.003

我想从第一列中的文件名的第4到第7个字符中提取x值。 我尝试了以下用户功能:

str2num(s)=(s[4:7]+0.0)

然后:

plot 'file' using (str2num($1)):($2)

但这给出了:

internal error: substring range operator applied to non-STRING type

我也尝试过:

plot 'file' using (str2num(stringcolumn($1))):($2)

但得到了同样的结果。

有没有办法在gnuplot中执行此操作而不先通过外部工具运行数据?

1 个答案:

答案 0 :(得分:1)

表达式$1column(1)的捷径,因此使用$1已经为您提供了相应列的数字表示。要获取字符串值,请使用stringcolumn(1)(不使用$!)或strcol(1)

str2num(s)=(s[4:7]+0.0)
plot 'file ' using (str2num(strcol(1))):2