다음 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 이미지는 다음과 같습니다.
내 두 가지 질문은 다음과 같습니다
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