1
2
3 import datetime
4 import re
5 import sys
6 import matplotlib
7 matplotlib.use('GTKAgg')
8
9
10
11 from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas
12
13
14 from matplotlib.backends.backend_gtk import NavigationToolbar2GTK as NavigationToolbar
15
16 from matplotlib.axes import Subplot
17 from matplotlib.figure import Figure
18
19 import gtk
20
21 win = gtk.Window()
22 win.set_default_size(400,300)
23 win.set_title("dictrack.log")
24 win.connect("destroy", lambda x: gtk.main_quit())
25
26 vbox = gtk.VBox()
27 win.add(vbox)
28
29 fig = Figure(figsize=(5,4), dpi=100)
30 ax = fig.add_subplot(111)
31
32 times = []
33 azs = []
34 zds = []
35 pas = []
36 has = []
37 decs = []
38 ras = []
39 positions = []
40 errors = []
41
42 f = file(sys.argv[1], 'r')
43 lines = f.readlines()
44
45 pattern = re.compile(\
46 r'(\d{4})\D(\d{2})\D(\d{2})\D(\d{2})\D(\d{2})\D(\d{2})\D?(\d*)')
47
48 for line in lines:
49 try:
50 parts = line.split()
51 parts[1:] = [float(part) for part in parts[1:]]
52 errors.append(parts[8])
53 positions.append(parts[7])
54 ras.append(parts[6])
55 decs.append(parts[5])
56 has.append(parts[4])
57 pas.append(parts[3])
58 zds.append(parts[2])
59 azs.append(parts[1])
60 times.append(datetime.datetime(\
61 *[int(bit) for bit in pattern.match(parts[0]).groups()]))
62 except IndexError:
63 pass
64
65 print len(times)
66 print len(positions)
67
68 upper = [1.1e-2, 1.1e-2]
69 lower = [-1.1e-2, -1.1e-2]
70 range = [times[0], times[-1]]
71
72
73 ax.plot_date(matplotlib.dates.date2num(times), zds, 'b-', label='zd')
74
75 ax.plot_date(matplotlib.dates.date2num(times), has, 'g-', label='ha')
76
77
78 ax.plot_date(matplotlib.dates.date2num(times), positions, 'c-', label='pos')
79 ax.plot_date(matplotlib.dates.date2num(times), errors, 'm-', label='err')
80 ax.plot_date(matplotlib.dates.date2num(range), upper, 'r--')
81 ax.plot_date(matplotlib.dates.date2num(range), lower, 'r--')
82
83 ax.legend()
84
85 canvas = FigureCanvas(fig)
86 vbox.pack_start(canvas)
87
88 toolbar = NavigationToolbar(canvas, win)
89 vbox.pack_start(toolbar, False, False)
90
91 win.show_all()
92 gtk.main()
93