4

k-selection不規則な x 値を持つデータ (アルゴリズムのベンチマーク結果) があります。明示的にラベルを付けています (1、50、100、500、1000、2500、および 5000)。

これらの値は直線的に増加していないため (または指数関数的に増加していますが、x 軸を対数スケールにすると少し改善されますが、バグにより 1 から 50 の間に大きなギャップが残ります)、それらは奇妙に分散し、まとまっています。これらのデータ ポイントが均等な間隔で描画されるように x 軸をスケーリングする方法はありますか?

以下は、グリッド間隔のサンプルです (ラベルと凡例は eps ファイルには表示されません。これらは後で graphicx パッケージによって描画されます) と、私が使用している gnuplot コマンドです。

グリッド間隔

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'
4

1 に答える 1

3

これを行う最もクリーンな方法は、次のxticlabelsコマンドを使用することです。

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

これは、最初の列から値を取得し、それを x 軸ラベルとして使用し、2 番目の列をデータとして使用します。

これは、コマンドの使用に少し似ています

plot 'file' u 2

これは、2 列目のデータをダミー インデックス (1,2,3,4...) に対してプロットするだけです。これにより、データポイントに均等な間隔が与えられます。これは、ここで必要なようです。

于 2012-11-22T13:56:01.070 に答える