Example #1
0
    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
Example #2
0
 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
Example #3
0
 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
Example #4
0
    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