'Analyze the sentence string, to figure out how big a unit needs
to be, How big the tree should be, etc.'

def _analyze(self):

    unitsize = 70
    text_height = 0
    c = self._chart_canvas
    for leaf in self._chart.leaves():
        tag = c.create_text(0, 0, text=repr(leaf), font=self._font, anchor='nw', justify='left')
        bbox = c.bbox(tag)
        c.delete(tag)
        width = (bbox[2] + ChartView._LEAF_SPACING)
        unitsize = max(width, unitsize)
        text_height = max(text_height, (bbox[3] - bbox[1]))
    self._unitsize = unitsize
    self._text_height = text_height
    self._sentence_height = (self._text_height + (2 * ChartView._MARGIN))
    for edge in self._chart.edges():
        self._analyze_edge(edge)
    self._chart_level_size = (self._text_height * 2)
    self._tree_height = (3 * (ChartView._TREE_LEVEL_SIZE + self._text_height))
    self._resize()
