]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/blob - graphGen.sh
Added script to generate BoxPlots
[hercules2020/kcf.git] / graphGen.sh
1 #!/usr/bin/bash
2
3 mkdir -p plot-data
4 cd plot-data
5
6 for log in "$@"
7 do
8     tracker_version=${log#*-}
9     tracker_version=${tracker_version%/*}
10
11     dataset=${log#*/}
12     dataset=${dataset#*-}
13     dataset=${dataset%-*}
14
15     mkdir -p "$dataset"
16
17     cd "$dataset"
18
19     arguments=${log%.*}
20     arguments=${arguments#*/*-*-}
21
22     mkdir -p "$arguments"
23
24     cd "$arguments"
25
26     data_file="$tracker_version".dat
27     touch "$data_file"
28
29     echo "${tracker_version^}" >> "$data_file"
30
31     while IFS= read -r line 
32     do
33         #Skip last line
34         if [[ $line != *"->"* ]]; then
35            continue
36         fi
37         time=${line%,*,*}
38         time=${time//[!.0-9]/}
39         echo "$time" >> "$data_file"
40     done < "../../../${log}"
41
42     cd ../../
43 done
44
45 for directory in *
46 do
47     cd "$directory"
48     for subdirectory in *
49     do
50         cd "$subdirectory"
51         paste *.dat > all
52         gnuplot -persist << EOFMarker
53         file = 'all'
54         header = system('head -1 '.file)
55         N = words(header)
56
57         set title "${directory^}-${subdirectory}"
58         set ylabel "Time [ms]"
59         set xtics rotate
60         set xtics ('' 1)
61         set for [i=1:N] xtics add (word(header, i) i)
62
63         set style data boxplot
64         set style boxplot nooutliers
65         unset key
66         plot for [i=1:N] file using (i):i
67 EOFMarker
68         cd ..
69     done
70     cd ..
71 done
72
73 cd ..
74 rm -r plot-data