2011-07-13 67 views
8

我使用gnuplot來繪製在CPU和GPU上測量的執行時間,具體取決於數據大小。所以我有兩個文件的執行時間。繪製它們很簡單。如何在1而不是0處指定x軸的開始

set title "CPU vs GPU" 

set xlabel "Number of Particles (* 10'000)" 
set ylabel "Time in Microseconds" 

plot "cpuTimes.txt" title "CPU" with linespoints, \ 
    "gpuTimes.txt" title "GPU" wit 

所得的情節可以在這裏找到:1

我試圖用xtics但它不移動X軸從1開始,但只是從1開始的蜱我怎樣才能移動X軸,使其從1開始並在50結束?

更新

數據文件cpuTimes.txt下面

64780 
129664 
195490 
266697 
327871 
391777 
459150 
517999 
582959 
647984 
717377 
790415 
830869 
900475 
959599 
1026041 
1092899 
1156022 
1297471 
1286325 
1349227 
1415936 
1482857 
1539580 
1607389 
1673436 
1737098 
1801568 
1874431 
1935975 
2006892 
2053077 
2129867 
2195117 
2254467 
2314478 
2373546 
2435416 
2506850 
2587302 
2625556 
2674799 
2758387 
2820720 
2896794 
2953550 
3053817 
3089501 
3170513 
3271537 
+0

有人會說選擇你的軸來隱藏數據是有誤導性的...... – Tom

+0

@Tom我認爲Nils只有一列數據。然後gnuplot星號默認爲0。然而這是任意的。另一方面,我可能只是不正確地理解這個問題^^。 – Woltan

回答

9

xtics只爲 「標籤」 x軸。你在找什麼是某種「數據處理」。我建議利用的using像這樣:

plot "cpuTimes.txt" u ($0+1):1 t "CPU" w lp, \ 
    "gpuTimes.txt" u ($0+1):1 t "GPU" w lp 

要在50月底情節有兩種方式:

  1. 你可以用set xrange [1:50]

    指定x範圍
    plot [1:50] "cpuTimes.txt" u ($0+1):1 t "CPU" w lp, \ 
          "gpuTimes.txt" u ($0+1):1 t "GPU" w lp 
    
  2. 您需要包括every像這樣:

    plot "cpuTimes.txt" u ($0+1):1 every 1::::50 t "CPU" w lp, \ 
        "gpuTimes.txt" u ($0+1):1 every 1::::50 t "GPU" w lp 
    

    請參閱every瞭解更多信息。

+0

1沒有工作。使用2我得到了正確的繪圖,謝謝! – Nils

0

舉一個軸範圍在您的繪圖命令:

plot [1:50] "cpuTimes.txt" 
+0

試圖陰謀[1:50]「cpuTimes.txt」標題「CPU」與linespoints不起作用。 – Nils

+0

啊它似乎影響y軸,但不影響x軸,它應該影響x軸 – Nils

+0

@Nils如果您提供了數據文件的片段,那麼看看會發生什麼會更容易。 –

1

我還沒有在一段時間使用的gnuplot,但我相信你可以使用set xrange來調整繪製的內容。

在你的情況下,命令是:

set xrange [ 1 : 50 ] 
+0

您的信仰是正確的。 –

+0

試過了,不行! – Nils