首页 > 解决方案 > Gnuplot 读取特定列的文件数据而不绘图

问题描述

我是 Gnuplot 新手,遇到了一些麻烦。我想读取一个 50 行 4 列的文件,并在新文档中打印第 1+3 行。和

set print "name.txt"
print "# X Y"
do for [i=1:50]{
    print i, error[i]   
}
set print

我可以打印,但我如何读取文件?(我不想绘制任何东西)

标签: gnuplot

解决方案


请查看手册并在 gnuplot 控制台中输入help table。您可以“绘制”到表格。当您纠正您的问题时,我已经编写了代码。所以,这里有 3 个变体。所以,你显然是在要求第三个。

将第 1 列和第 3 列写入新文档:

set table 'myOutputFile.dat'
    plot 'myInputFile.dat' u 1:3 with table
unset table

将第 1 行和第 3 行写入新文档:(行数从 0 开始)。检查help every

set datafile separator "\n"
set table 'myOutputFile.dat'
    plot 'myInputFile.dat' u (strcol(1)) every 2::0::2 with table
unset table
set datafile separator whitespace  # set it back in case you have some more data

将第1 列和第 3 列的总和写入新文档:

set table 'myOutputFile.dat'
    plot 'myInputFile.dat' u ($1+$3) with table
unset table

推荐阅读