2013-02-20 39 views
9

以下gnuplot的代碼工作良好:中的gnuplot的繪圖命令做計算

plot 'data.txt' using 2:4 ' %lf %lf %lf %lf' title "1 PE" with linespoints; 

在下面的代碼,我想說:「從第4列使用數字,但隨後被從列中的數字除以它3" 。或者:「使用第2列中的數字,但將其除以常數2.0」。下面的代碼演示了我嘗試實現的內容,但它不起作用。

plot 'data.txt' using 2:4/4 ' %lf %lf %lf %lf' title "1 PE" with linespoints; 
plot 'data.txt' using 2:4/2.0 ' %lf %lf %lf %lf' title "1 PE" with linespoints; 

是這樣的可能嗎?

回答

15

我通常不會採用這樣的格式的數據文件的工作,但我認爲你正在尋找的東西,如:

#divide column 4 by column 3 
plot 'data.txt' using 2:($4/$3) ' %lf %lf %lf %lf' title "1 PE" with linespoints 

#divide column 4 by constant 10.0 
plot 'data.txt' using 2:($4/10.0) ' %lf %lf %lf %lf' title "1 PE" with linespoints 

作爲一個方面說明,我不認爲有任何理由傳遞格式部分在這裏使用。 Gnuplot分割數據文件的空白就好:

plot 'data.txt' using 2:($4/$3) title "1 PE" with linespoints 

應該工作得很好。

+0

非常感謝,這工作。另外,是的,格式字符串不是必需的,很酷! – Johannes 2013-02-20 14:13:24

+0

從文件1中的列除以文件2中的列怎麼辦? – Ruzayqat 2017-09-03 14:05:22

+0

@Ruzayqat - 我在Gnuplot工作了很長一段時間,但回到當天,沒有辦法做到這一點。您需要某種工具來將列壓縮到一起,然後才能將數據傳輸到其中。 – mgilson 2017-09-03 17:15:38