def __init__(self, trees=None, name=None, support=70, scaled=True, branchlabels=False, radial=False): """ *trees* are assumed to be objects suitable for passing to ivy.tree.read() """ self.root = [] self.name = name self.name2plot = {} self.plot = [] self.scaled = scaled self.branchlabels = branchlabels self.radial = radial self.highlighted = set() self.divs = [] pars = SubplotParams( left=0, right=1, bottom=0.05, top=1, wspace=0.04 ) fig = pyplot.figure(subplotpars=pars) events.connect_events(fig.canvas) self.figure = fig for x in trees or []: self.add(x, support=support, scaled=scaled, branchlabels=branchlabels)
def __init__(self, data, name=None, scaled=True, div=0.25, branchlabels=True, leaflabels=True, xoff=0, yoff=0, mark_named=True, overview=True, interactive=True, radial=False, leaf_fontsize=10, branch_fontsize=10, direction="rightwards"): self.overview = None self.overview_width = div self.name = name self.scaled = scaled self.radial = radial if radial: self.leaflabels = False self.branchlabels = branchlabels self.leaflabels = leaflabels self.xoff = xoff self.yoff = yoff self.direction=direction self.leaf_anchor = "left" if self.direction == "rightwards" else "right" self.branch_anchor = "right" if self.direction == "rightwards" else "left" self.mark_named=mark_named # Drawing a circle at named nodes if isinstance(data, tree.Node): root = data else: root = tree.read(data) self.root = root if not self.root: raise IOError, "cannot coerce data into tree.Node" self.name = self.name or root.treename pars = SubplotParams( left=0, right=1, bottom=0.05, top=1, wspace=0.01 ) fig = pyplot.figure(subplotpars=pars, facecolor="white") events.connect_events(fig.canvas) self.figure = fig self.layers = OrderedDict() self.ovlayers = OrderedDict() self.initialize_subplots(overview, leaf_fontsize, branch_fontsize) self.home()