2012-05-29 189 views
13

我已經dat文件之後,命名爲ls.datgnuplot的繪製多線圖

# Gnuplot script file for "ls" 
# Version  Removed Added Modified 
8.1  0  0  0 
8.4  0  0  4 
8.5  2  5  9 
8.6  2  7  51 
8.7  2  7  51 
8.8  2  7  51 
8.9  2  7  51 
8.10 2  7  51 
8.11 2  8  112 
8.12 2  8  112 
8.13 2  17  175 
8.17 6  33  213 

我想這個陰謀:

plot "ls.dat" using 1:2 title 'Removed' with lines,\ 
    "ls.dat" using 1:3 title 'Added' with lines,\ 
    "ls.dat" using 1:4 title 'Modified' with lines 

這將產生以下圖表:

enter image description here

我期待的是三條線圖,它們應該是我上升,但以不同的速度。任何人都可以看到這裏發生了什麼?我相信它肯定是非常愚蠢的。

+1

你是怎麼得到這個Gnuplot GUI的?什麼命令啓動這個窗口? – Jeef

+3

@Jeef它在OSX上的gnuplot-X11。你也可以在Qt中使用gnuplot。這取決於您的終端類型設置爲您所得到的。我的是gnuplot-qt。 –

+1

謝謝 - 這是很久以前我忘了我甚至在做什麼! :) – Jeef

回答

23

我認爲你的問題是你的版本號。嘗試製作8.1 - > 8.01,等等。這應該把點數放在正確的順序。

或者,您可以繪製using X,其中X是您想要的列號,而不是using 1:X。這將在y軸上繪製這些值並在x軸上繪製整數。試試:

plot "ls.dat" using 2 title 'Removed' with lines, \ 
    "ls.dat" using 3 title 'Added' with lines, \ 
    "ls.dat" using 4 title 'Modified' with lines 
+0

您可能還需要y軸上的日誌刻度(使用'set log y'),因爲您的數字跨越了這個範圍。 – andyras

+0

很棒!知道它必須是這樣的愚蠢:P –

+0

'使用X'的好處 - 我認爲你也可以使用'使用X:xtic(1)'來保留你的xtics所需的版本號,儘管我還沒有嘗試過......(+ 1) – mgilson

11

andyras是完全正確的。一個小小的此外,試試這個(例如)

plot 'ls.dat' using 4:xtic(1) 

這將讓您的數據文件以正確的順序,而且還保留在x軸的版本抽動標籤。

+0

是的!優秀點。 – andyras

3

除了上面的答案之外,下面的命令也會起作用。我發佈它是因爲它對我更有意義。在每一種情況下,它是「使用的x值列:y值列」

plot 'ls.dat' using 1:2, 'ls.dat' using 1:3, 'ls.dat' using 1:4 
0

無論你的分隔符是你ls.dat,你可以指定它gnuplot的

set datafile separator "\t"