2011-12-27 47 views
13

我有一個包含30列和N行的數據文件。每行對應於x = {1,...,30}的函數f(x)的30個值。數據文件有以下模式:gnuplot:如何繪製數據文件的每一行爲Y和增量X

#<index> f(1) f(2) ... f(30) 
1 7.221 5.302 ... -1.031 
2 4.527 3.193 ... 0.410 
... 
N 6.386 1.321 ... -0.386 

gnuplot的解釋第一欄爲X,第二個爲Y.但它不是我想要的。例如,對於第一行,gnuplot的獲得所期望的輸出與該輸入的文件:

# X Y 
1 7.221 
2 5.302 
... 
30 -1.031 

我要繪製在一個分隔的輸出文件中的每個線而不調換該數據文件。

由於

回答

7

修訂基於@克里斯托夫的評論:

plot for [i=2:30] 'data.dat' using (i-1):(column(i)) with linespoint 
+0

感謝您的答案,但它不是我要找的。這個輸出將是'data.dat'第一行的這些點(1,y1),(1,y2),...(1,y30)。期望的答案是(1,y1),(2,y2),...,(30,y30)。 – cartoonist

+2

這將與'使用(i-1):(列(i))'一起工作。 – Christoph

+0

它無法正常工作。它不是逐行繪製,而是逐列繪製。下面的答案是正確的。 –

7

我找到了解決方案:

plot "data.dat" matrix every 1::1 with linespoint 
  • matix表示由輸入文件解釋爲矩陣數據文件類型。
  • every 1::1跳過第一列
+0

是否有辦法以不同顏色的每個行? –

+1

@JakubPietkun是的,[有](http://stackoverflow.com/a/20983399)。看起來,'plot「data.dat」矩陣使用1:3:2每1 :: 1與linespoints調色板'將做的伎倆。 –

相關問題