存储来自gnuplot中数据文件的注释值

时间:2015-03-11 13:17:08

标签: gnuplot

我有多个数据文件output_k,其中k是数字。文件看起来像

    #a=1.00 b = 0.01
    # mass  mean    std  
    0.2 0.0163  0.0000125
    0.4 0.0275  0.0001256

现在我需要检索ab的值并将它们存储在一个变量中,这样我就可以将它们用于标题或函数输入等。循环遍历文件中的文件文件夹工作。但是我需要一些帮助才能读出参数ab。这就是我到目前为止所做的。

    # specify the number of plots
    plot_number = 100
    # loop over all data files
    do for [i=0:plot_number] {
    a = TODO
    b = TODO
    #set terminal
    set terminal postscript eps size 6.4,4.8 enhanced color font 'Helvetica,20' linewidth 2
    set title "Measurement \n{/*0.8 A = a, B = b}"

    outFile=sprintf("plot_%d.eps", i)
    dataFile=sprintf("output_%d.data", i)

    set output outFile
    plot dataFile using 1:2:3 with errorbars lt 1 linecolor "red", f(a,b)

    unset output
    }

修改

我正在使用gnuplot for windows。

1 个答案:

答案 0 :(得分:1)

如果您使用的是Unixoid系统,则可以使用system获取标准命令行工具的输出,即headsed,这又可以提取所述值表单文件:

a = system(sprintf("head -n 1 output_%i.data | sed \"s/#a=//;s/ b .*//\"", i))
b = system(sprintf("head -n 1 output_%i.data | sed \"s/.*b = //\"", i))

这假设你问题中所有行的前导空格实际上是格式错误。