2012-11-22 55 views
2

我有一些數據(基準的k-selection算法結果),其具有不規則的x值。我有他們明確標記(1,50,100,500,1000,2500和5000)。因爲這些值不是線性增加(或呈指數增長,雖然使x軸的對數標度確實有所改進,但bug在1和50之間留下了巨大的差距),但它們奇怪地散佈在一起並聚集在一起。有沒有辦法縮放X軸,以便這些數據點以均勻的間距繪製?不規則gnuplot的x值

下面是網格間距的樣品(標籤和圖例不在EPS文件可見,這些由graphicx宏包以後繪製)以及我使用的gnuplot的命令。

grid spacing

set terminal epslatex 

set xlabel 'k' 
set ylabel 'seconds' 

set tic scale 0 
set key Left outside 

set xtics rotate 
set xtics ('1' 1, '50' 50, '100' 100, '500' 500, '1000' 1000, '2500' 2500, '5000' 5000) 

set logscale y 
set logscale x 
set style data linespoints 

set output 'selection.tex' 

plot '../data/selection.dat' u 1:($2/1000) t 'Sort', \ 
    '../data/selection.dat' u 1:($3/1000) t 'Partial Sort', \ 
    '../data/selection.dat' u 1:($4/1000) t 'Heap', \ 
    '../data/selection.dat' u 1:($5/1000) t 'Partial Heap', \ 
    '../data/selection.dat' u 1:($6/1000) t 'Order Statistics' 

回答

2

做到這一點的乾淨的方法是使用xticlabels命令:

plot '../data/selection.dat' u ($2/1000):xticlabels(1) t 'Sort', \... 

這從第一列採用值並使用它作爲x軸的標籤,而使用第二列作爲數據。

這有點像使用命令

plot 'file' u 2 

剛剛從第二塔繪製數據對啞指標(1,2,3,4 ...)。這給數據點提供了一個均勻的間隔,這似乎是你想要的。