dcav-stats/plot.rb

79 lines
1.7 KiB
Ruby
Raw Normal View History

# coding: utf-8
2017-05-09 11:40:42 +00:00
load 'config.rb'
users = USERNAMES
log_dir = LOG_DIR
colors = {"christoffermadsen" => "1d6a6f",
"jmaa" => "9db512",
"jacob" => "e01476",
"alexander" => "00c0c7"}
2017-01-26 15:08:01 +00:00
def rand_color
"%06x" % (rand * 0xffffff)
end
def color_dist (c1, c2)
(c1[0..1].hex - c2[0..1].hex).abs +
(c1[2..3].hex - c2[2..3].hex).abs +
(c1[4..5].hex - c2[4..5].hex).abs
end
#users.each do |user|
# tentative_color = rand_color
# while (colors.detect {|k,v| color_dist(v,tentat#ive_color) < 200}) do
# tentative_color = rand_color
# end
#
# colors[user] = tentative_color
#end
2017-05-09 11:40:42 +00:00
2017-01-26 15:08:01 +00:00
plotstring = %Q[set terminal 'svg' size 800,400 fname 'Verdana, Helvetica, Arial, sans-serif' \
fsize '14' rounded dashed
set key bottom center outside horizontal
2017-01-24 16:37:27 +00:00
set style line 1 lt 1 lw 2 pt 7 ps 0.4
set xlabel "Time"
2017-01-24 16:09:09 +00:00
set xdata time
set timefmt "%s"
set format x "%m/%d"
set xtics 60*60*24*7*2
2017-01-26 15:08:01 +00:00
set xrange [1485275000:]
set mxtics 2
set grid ytics mytics xtics mxtics
set title "Screenshot count"
set output "/home/christoffermadsen/public_html/img/screenshot_count.svg"
2017-01-24 16:37:27 +00:00
set ylabel "Count"
set yrange [0:]
2017-01-24 16:37:27 +00:00
set ytics 100
set mytics 2
plot ]
users.each do |user|
plotstring += %Q["log/#{user}.log" using 1:2 with lines ls 1 lc rgb '##{colors[user]}' t "#{user}", \\\n]
end
plotstring += %Q[
set title "Screenshot size"
set output "/home/christoffermadsen/public_html/img/screenshot_size.svg"
set ylabel "Size (MB)"
set yrange [0:]
set ytics 10
set mytics 1
2017-01-24 16:37:27 +00:00
2017-01-24 16:09:09 +00:00
plot ]
users.each do |user|
2017-01-24 16:37:27 +00:00
colour = "%06x" % (rand * 0xffffff)
plotstring += %Q["log/#{user}.log" using 1:($3/10**6) with lines ls 1 lc rgb '##{colors[user]}' t "#{user}", \\\n]
2017-01-24 16:09:09 +00:00
end
2017-01-24 16:09:09 +00:00
output = File.open("plotscript","w")
output << plotstring
output.close
2017-01-26 15:08:01 +00:00
`gnuplot plotscript`