2017-08-13 4 views
0

I次のデータファイルがあります。、どのように私は、2つの列の合計をプロットすることができ

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'

これは非常に便利な構文です。私はプロットしたい場合でも、たとえば、denstに関してdensudensdの合計が、私はそれを行うことができる唯一の方法は次のとおりです。

set key autotitle columnhead最初の行はヘッダとされていないデータ

plot 'file.txt' u 1:($2+$3)あるgnuplotの言うことプロットする

問題はどうすればそのような列の値で操作できますか?実際のファイルは〜40列のcsvです。どの列がどの番号か手動でカウントするのは非常に面倒ですので、$n構文を使用して列データで数学を行うことができます。

私はplot 'file.txt' u 1:($'densu'+$'densd')のように、カラム名の構文と同様にヘッダ名の構文を使用しています。これを行う方法はありますか?

答えて

3

私はそれを行う方法を発見しました。これらの2つのコマンドは等価です:

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')) 

を行うことができます。

関連する問題