2017-08-13 52 views
0

我有以下数据文件:在gnuplot的,我怎么能画出两列的总和,当我用头名称绘制

denst densu densd denss 
3  1  1  1 
4  1  1.5 1.5 
5  1  2.5 1.5 

我可以积,比方说,densudenst)为:

plot 'file.txt' u 'denst':'densu'

这是非常方便的语法。但是,如果我想绘制,说的densudensd总和,相对于denst我能做到这一点的唯一方法是:

set key autotitle columnhead告诉GNUPLOT第一行头,而不是数据

plot 'file.txt' u 1:($2+$3)以阴谋

问题是我该如何做像这样的列值操作,但使用名称符号?实际的文件是大约40列的csv,手动计算哪个列是哪个编号非常繁琐,因此我可以使用$n语法对列数据进行数学运算。

我想要做类似plot 'file.txt' u 1:($'densu'+$'densd')的事情,使用标题名称语法类似于我如何使用列号语法来完成。有没有办法做到这一点?

回答

3

我发现了一种方法来做到这一点。这两个命令是等价的:

plot 'file.txt' u 1:($2+$3) 
plot 'file.txt' u 1:(column(2)+column(3)) 

你不能这样做

plot 'file.txt' u 'denst':($'densu'+$'densd') 

但你可以做

plot 'file.txt' u 'denst':(column('densu')+column('densd')) 

达到同样的效果。