Commit 4cab8d4cc85f41dae36eee7c6a0b579ca5ec29c8
1 parent
3ce449c7
Exists in
master
work towards drawing axes better, not working yet
Showing
1 changed file
with
25 additions
and
26 deletions
Show diff stats
telemetry/code/monitor/graph_plotter_rewrite.py
... | ... | @@ -49,8 +49,8 @@ class Plot(pyglet.window.Window): |
49 | 49 | """Draw all the components of the graph""" |
50 | 50 | self.drawBackground() |
51 | 51 | self.drawHeading() |
52 | - self.drawXAxis() | |
53 | - self.drawYAxis() | |
52 | + self.drawAxis(0) | |
53 | + self.drawAxis(1) | |
54 | 54 | |
55 | 55 | def drawBackground(self): |
56 | 56 | """Draw the graph background, currently a plain colour""" |
... | ... | @@ -63,38 +63,37 @@ class Plot(pyglet.window.Window): |
63 | 63 | anchor_x='center', anchor_y='top') |
64 | 64 | heading.draw() |
65 | 65 | |
66 | - def drawXAxis(self): | |
67 | - top = self.bounds[1][1] | |
68 | - bot = self.bounds[1][0] | |
69 | - start = self.bounds[0][0] | |
70 | - stop = self.bounds[0][1] | |
71 | - increment = float(stop-start)/self.lines[0] | |
72 | - for x in numpy.arange(start, stop+1, increment): | |
66 | + def drawAxis(self, axis): # axis=0 is x, 1 is y | |
67 | + limita = self.bounds[axis][1] | |
68 | + limitb = self.bounds[axis][0] | |
69 | + start = self.bounds[1-axis][0] | |
70 | + stop = self.bounds[1-axis][1] | |
71 | + increment = float(stop-start)/self.lines[axis] | |
72 | + for pos in numpy.arange(start, stop+1, increment): | |
73 | 73 | # Using fp arithmetic to avoid intermittent fencepost errors |
74 | - x = int(x) | |
75 | - pyglet.graphics.draw(2, pyglet.gl.GL_LINES, ('v2i', (x, top, x, bot)), | |
74 | + pos = int(pos) | |
75 | + if axis==0: | |
76 | + pyglet.graphics.draw(2, pyglet.gl.GL_LINES, ('v2i', (limita, pos, limitb, pos)), | |
76 | 77 | ('c3B', (0, 0, 0, 0, 0, 0))) |
77 | - tag = pyglet.text.Label("123", color=BLACK, | |
78 | - font_name=self.font, font_size=self.height*self.margins[0]*0.3, | |
79 | - x=x, y=self.height*self.margins[0], | |
80 | - anchor_x='center', anchor_y='top') | |
78 | + tag = pyglet.text.Label("123", color=BLACK, | |
79 | + font_name=self.font, font_size=self.height*self.margins[1-axis]*0.3, | |
80 | + x=pos, y=self.height*self.margins[axis], | |
81 | + anchor_x='left', anchor_y='top') | |
82 | + if axis==1: | |
83 | + pyglet.graphics.draw(2, pyglet.gl.GL_LINES, ('v2i', (pos, limita, pos, limitb)), | |
84 | + ('c3B', (0, 0, 0, 0, 0, 0))) | |
85 | + tag = pyglet.text.Label("123", color=BLACK, | |
86 | + font_name=self.font, font_size=self.width*self.margins[1-axis]*0.3, | |
87 | + x=self.width*self.margins[axis], y=pos, | |
88 | + anchor_x='right', anchor_y='center') | |
89 | + | |
81 | 90 | tag.draw() |
82 | 91 | axistitle = pyglet.text.Label(self.series.xname, color=BLACK, |
83 | 92 | font_name=self.font, font_size=self.height*self.margins[0]*0.3, x=self.width/2, y=0, |
84 | 93 | anchor_x='center', anchor_y='bottom') |
85 | 94 | axistitle.draw() |
86 | 95 | |
87 | - def drawYAxis(self): | |
88 | - lef = self.bounds[0][0] | |
89 | - rig = self.bounds[0][1] | |
90 | - start = self.bounds[1][0] | |
91 | - stop = self.bounds[1][1] | |
92 | - increment = float(stop-start)/self.lines[1] | |
93 | - for y in numpy.arange(start, stop+1, increment): | |
94 | - # Using fp arithmetic to avoid intermittent fencepost errors | |
95 | - y = int(y) | |
96 | - pyglet.graphics.draw(2, pyglet.gl.GL_LINES, ('v2i', (lef, y, rig, y)), | |
97 | - ('c3B', (0, 0, 0, 0, 0, 0))) | |
96 | + | |
98 | 97 | |
99 | 98 | |
100 | 99 | |
... | ... |