def getShapes(self, span, rotated, height, yrange=None, done_border=False): if yrange is None: yrange = self.range shape_list = [] for track in self.tracks: if track.needs_border and not done_border: border = rlg2mpl.Group( rlg2mpl.Line(span[0], 0, span[1], 0, strokeWidth=.5, strokeColor=colors.black), rlg2mpl.Line(span[0], height, span[1], height, strokeWidth=.5, strokeColor=colors.black)) shape_list.append(border) done_border = True shape_list.extend( track.getShapes(span, rotated, height, yrange=yrange, done_border=True)) return shape_list
def getShapes(self, span, rotated, height, yrange=None, done_border=False): shape_list = [feature.shape(height, yrange or self.range, rotated) for feature in self.features] if self.needs_border and not done_border: border = rlg2mpl.Group( rlg2mpl.Line(span[0], 0, span[1], 0, strokeWidth=.5, strokeColor=colors.black), rlg2mpl.Line(span[0], height, span[1], height, strokeWidth=.5, strokeColor=colors.black) ) shape_list = [border] + shape_list return shape_list
def _item_shape(self, start, end, tidy_start, tidy_end, height, value, yrange, rotated, last=False): altitude = value * (height - 1) / yrange #if self.orientation < 0: # altitude = height - altitude return rlg2mpl.Line(start, altitude, end, altitude, **self.opts)