00d275a62fccdebeb5ed75c50b8d087a15966208
[mirrors/Programs.git] / c / goertzel / sleepplot.sh
1 #!/bin/bash
2
3 test -z "$1" && {
4 echo "Usage: $0 sleeplog.txt"
5 exit 23
6 }
7
8 in="$1";
9 graphout="${in%%.*}.png"
10 test -n "$2" && graphout="$2";
11
12 #Approximate size of graph
13 size="$(tail -n 1 "$in" | cut -d . -f 1)"
14 test $size -gt 3600 && size="$(( $size/10 ))" #For prolonged periods
15 size="$(( 600 + $size ))"
16
17 #Plot it
18 gnuplot << EOF
19 set output "$graphout"
20 set terminal png size $size,400
21
22 set title "Sleep motions"
23 set xlabel "time"
24 set ylabel "motion"
25
26 set yrange [-0.5:3]
27
28 set xdata time
29 set timefmt "%s"
30 #set format x "%H:%M:%S"
31
32 set grid
33
34 #set pointsize 0.5
35 plot\
36 "$in" using 2:5 title "Sensor state" with steps,\
37 "" using 2:(\$6*2) title "Avg. 10s" with lines,\
38 "" using 2:(\$7*3) title "Avg. 30s" with lines,\
39 "" using 2:(\$8*3) title "Avg. 60s" with lines,\
40 "" using 2:(\$9*3) title "Avg. 90s" with lines,\
41 "" using 2:(\$10*4) title "Avg. 120s" smooth bezier\
42
43 EOF
44
45
46
47
This page took 0.287377 seconds and 3 git commands to generate.