def figureLayout(self, labeled=True, vertical=False, width=None, height=None, left=None, **kw): if left is None: if labeled and self._tracks: left = max(len(p.label) for (y, ym, p) in self._tracks) left *= 12 / 72 * .5 # guess mixed chars, 12pt, inaccurate! else: left = 0 height = height or (self.height or 0.1) / 72 useful_width = len(self) * 16 / 72 # ie bigish font, wide chars fkw = dict(leftovers=True, width=width, height=height, left=left, useful_width=useful_width, **kw) (w, h), posn, kw = rlg2mpl.figureLayout(**fkw) #points_per_base = w * posn[3] / len(self) if vertical: (w, h) = (h, w) posn[0:2] = reversed(posn[0:2]) posn[2:4] = reversed(posn[2:4]) return (w, h), posn, kw
def makeFigure(self, width=None, height=None, margin=.25, use_lengths=None, **kw): (width, height), posn, kw = rlg2mpl.figureLayout(width, height, margin=0, default_aspect=0.5, leftovers=True, **kw) fig = self._makeFigure(width, height) ax = fig.add_axes(posn, frameon=False) width = 72 * posn[2] * fig.get_figwidth() height = 72 * posn[3] * fig.get_figheight() ax.set_xlim(0, width) ax.set_ylim(0, height) ax.set_xticks([]) ax.set_yticks([]) if use_lengths is None: use_lengths = self.use_lengths_default else: pass # deprecate setting use_lengths here? if use_lengths and self.aspect_distorts_lengths: ax.set_aspect('equal') g = self.asArtist(width, height, use_lengths=use_lengths, margin=margin * 72, **kw) ax.add_artist(g) return fig
def makeFigure(self, width=None, height=None, margin=.25, use_lengths=None, **kw): (width, height),posn,kw = rlg2mpl.figureLayout(width, height, margin=0, default_aspect=0.5, leftovers=True, **kw) fig = self._makeFigure(width, height) ax = fig.add_axes(posn, frameon=False) width = 72 * posn[2] * fig.get_figwidth() height = 72 * posn[3] * fig.get_figheight() ax.set_xlim(0, width) ax.set_ylim(0, height) ax.set_xticks([]) ax.set_yticks([]) if use_lengths is None: use_lengths = self.use_lengths_default else: pass # deprecate setting use_lengths here? if use_lengths and self.aspect_distorts_lengths: ax.set_aspect('equal') g = self.asArtist(width, height, use_lengths=use_lengths, margin=margin*72, **kw) ax.add_artist(g) return fig
def figureLayout(self, labeled=True, vertical=False, width=None, height=None, left=None, **kw): if left is None: if labeled: left = max(len(p.label) for (y, ym, p) in self._tracks) left *= 12 / 72 * 0.5 # guess mixed chars, 12pt, inaccurate! else: left = 0 height = height or self.height / 72 useful_width = len(self) * 16 / 72 # ie bigish font, wide chars fkw = dict(leftovers=True, width=width, height=height, left=left, useful_width=useful_width, **kw) (w, h), posn, kw = rlg2mpl.figureLayout(**fkw) # points_per_base = w * posn[3] / len(self) if vertical: (w, h) = (h, w) posn[0:2] = reversed(posn[0:2]) posn[2:4] = reversed(posn[2:4]) return (w, h), posn, kw