# This Gnuplot file has been generated by eNovance
if (exists("ARGC") && ARGC > 5) \
	found_args = 1; \
else if (strlen("$$#") < 3 && "$#" > 5) \
	found_args = 1; \
	ARG1 = "$0"; \
	ARG2 = "$1"; \
	ARG3 = "$2"; \
	ARG4 = "$3"; \
	ARG5 = "$4"; \
	ARG6 = "$5"; \
else \
	found_args = 0; \
	print "Aborting: could not find all arguments"; \
	exit

avg_num = ARG6 + 0
avg_str = sprintf("%g", avg_num)

set title ARG1

set terminal png size 1280,1024
set output ARG4 . '.png'

set palette rgbformulae 7,5,15
set style line 100 lt 7 lw 0.5
set style fill transparent solid 0.9 noborder
set auto x
set ylabel ARG5
set xlabel "Disk"
set yrange [0:]
set style data histogram
set style histogram cluster gap 1
set style fill solid border -1
set boxwidth 2
#set xtic rotate by -10 scale 10 font ",8"
set bmargin 3
set xtics axis out
set xtic rotate by 45 scale 0 font ",8" autojustify
set xtics offset 0,-1 border -5,1,5
set style line 1 lt 1 lw 3 pt 3 linecolor rgb "green"
plot ARG2 using 2:xtic(1) ti col, avg_num w l ls 1 ti 'Global average value (' . avg_str . ')'
