# This Gnuplot file has been generated by eNovance

needed_args = 8
if (exists("ARGC") && ARGC >= needed_args) \
	found_args = 1; \
else if (strlen("$$#") < 3 && "$#" >= needed_args) \
	found_args = 1; \
	ARG1 = "$0"; \
	ARG2 = "$1"; \
	ARG3 = "$2"; \
	ARG4 = "$3"; \
	ARG5 = "$4"; \
	ARG6 = "$5"; \
	ARG7 = "$6"; \
	ARG8 = "$7"; \
else \
	found_args = 0; \
	print "Aborting: could not find all arguments"; \
	exit

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

set title ARG1

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

#Preparing Axes
#set logscale x
set ytics axis out auto 
#set data style lines
set key top left reverse
set xlabel "Time (Seconds)"
set ylabel ARG5
set xrange [0:]
set yrange [0:]

#Set Color style
#set palette rgbformulae 22,9,23
#set palette rgbformulae 7,5,15
set style line 100 lt 7 lw 0.5
set style line 1 lt 1 lw 3 pt 3 linecolor rgb "green"

plot ARG2 using 2:3 with linespoints title ARG3, avg_num w l ls 1 ti 'Global average value (' . avg_str . ')'

set output ARG6 . '.png'
plot ARG2 using 2:3 smooth csplines title ARG3, avg_num w l ls 1 ti 'Global average value (' . avg_str . ')'

set output ARG7 . '.png'
plot ARG2 using 2:3 smooth bezier title ARG3, avg_num w l ls 1 ti 'Global average value (' . avg_str .')'

#pause -1
#The End
