从Gnuplot中的文件名中提取数据

时间:2014-04-03 23:52:57

标签: string variables gnuplot

Gnuplot有没有办法读取和识别结构化字符串?具体来说,我有几百个文件,都包含测量数据,文件名中定义了测量条件。

我的文件看起来像" 100d5mK2d0T.txt",这意味着这个数据是在100.5mK温度和2.0T磁场下获得的。

我有可能从名称中提取温度和场强数据,并将它们用作图中的标签吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

使用gnuplot的内部字符串处理,您可以提出一个解决方案(使用substrstrstrt),但这非常详细。

最好使用外部工具进行字符串处理,例如perl:

filename = '100d5mK2d0T.txt'
str = system('echo "'.filename. '" | perl -pe ''s/(\d+)d(\d+)mK(\d+)d(\d+)T.txt/\1.\2 \3.\4/'' ')
temperature = word(str, 1)
magnetic_field = word(str, 2)

set label at graph 0.1,0.9 "Temperature: ".temperature." mK"
set label at graph 0.1,0.8 "Magnetic field: ".magnetic_field." T"