4

gnuplot で遊んでいます。私のデータセットは次のようになります。

1     0.530000  0.510000
2     0.420000  0.310000
4     0.400000  0.160000
8     0.390000  0.070000
16    0.390000  0.040000
32    0.310000  0.020000
64    0.170000  0.020000
128   0.070000  0.000000
256   0.030000  0.000000
512   0.020000  0.000000
1024  0.000000  0.000000

私のgnuplotファイルは与えられた打撃です。

#!/usr/bin/gnuplot
reset
set terminal png

set ylabel "time in ms"

set xlabel "k"

set title "update every kth element"
set key reverse Left outside
set grid

set style data linespoints

set output 'cache_access.png'
plot "time_mem_access.dat" using 1:2 title "cache access 1", \
      ""                   using 1:3 title "cache access 2"

私が得たグラフは以下のようになります。

ここに画像の説明を入力

私の問題は、x 軸の最初の列に正確な値を表示することです。

i.e 1,2,4,8,16,32,64 etc.

これを正確に行う方法に関するドキュメントがオンラインで見つかりません。

4

1 に答える 1

15

呼び出す代わりに:

plot "time_mem_access.dat" using 1:2 title "cache access 1", \
      ""                   using 1:3 title "cache access 2"

あなたが試すことができます:

plot "time_mem_access.dat" using 1:2:xtic(1) title "cache access 1", \
      ""                   using 1:3:xtic(1) title "cache access 2"

これにより、次のプロットが得られます。 ここに画像の説明を入力

ただし、x 値のログを取りたい場合があります。

plot "time_mem_access.dat" using (log($1)):2:xtic(1) title "cache access 1", \
      ""                   using (log($1)):3:xtic(1) title "cache access 2"

それはあなたに与えるでしょう: ここに画像の説明を入力

于 2013-06-18T04:09:35.010 に答える