次のGNUplotファイルがあります。
set title "Performance of Quicksort over random data sets"
set yrange [0:80000]
set style data histogram
set style histogram cluster
set style fill solid border -1
set boxwidth 0.9
plot for [COL=2:6:1] 'timings.dat' using COL
そして次のデータファイル:
# Data-size being x-axis, each data size having a histogram-bar for seq/2-t/4-t/8-t/16-t (color-coded)
# Y-axis is time (the information in the columns below Sequential for example being the timings of sequential program for 2^15...2^28)
Data-size Sequential 2-threaded 4-threaded 8-threaded 16-threaded
2^15 6 4 5 7 10
2^16 11 9 9 11 19
2^17 24 17 18 24 32
2^18 49 35 32 43 59
2^19 102 71 70 89 115
2^20 208 145 135 161 201
2^21 431 295 281 333 416
2^22 895 598 550 667 870
2^23 1887 1219 1173 1228 1639
2^24 3852 2979 2478 2621 3457
2^25 7962 4980 4693 5064 6834
2^26 16329 10151 9332 10062 13217
2^27 33775 21039 19072 20008 25196
2^28 69995 43393 38091 40598 52492
結果のgnuplotイメージは次のようになります。
私の2つの質問は次のとおりです。
x軸は、データサイズ列(2 ^ 15、...、2 ^ 28)に従ってラベル付けする必要があります。
バーの名前は、データシートの名前に基づいて指定する必要があります(順次、2スレッドなど)。
私はこのステップに至ったマニュアルの一部を読んでいますが、残念ながら私が望むことを達成する方法を理解するのに十分な経験がありません。
ベストアンサー1
私考えるあなたが望むもの
plot for [COL=2:6:1] 'timings.dat' using COL:xticlabels(1) title columnheader
2^{15}
ただし、最初の列が正しく解析されるように等度を変更する必要があるかもしれません。
$ cat timings.dat
# Data-size being x-axis, each data size having a histogram-bar for seq/2-t/4-t/8-t/16-t (color-coded)
# Y-axis is time (the information in the columns below Sequential for example being the timings of sequential program for 2^{15}...2^28)
Data-size Sequential 2-threaded 4-threaded 8-threaded 16-threaded
2^{15} 6 4 5 7 10
2^{16} 11 9 9 11 19
2^{17} 24 17 18 24 32
2^{18} 49 35 32 43 59
2^{19} 102 71 70 89 115
2^{20} 208 145 135 161 201
2^{21} 431 295 281 333 416
2^{22} 895 598 550 667 870
2^{23} 1887 1219 1173 1228 1639
2^{24} 3852 2979 2478 2621 3457
2^{25} 7962 4980 4693 5064 6834
2^{26} 16329 10151 9332 10062 13217
2^{27} 33775 21039 19072 20008 25196
2^{28} 69995 43393 38091 40598 52492