Draw the tree on a canvas.

        Args:
            canvas (object): The canvas, you want to draw the tree on. Supported canvases: svgwrite.Drawing and PIL.Image (You can also add your custom libraries.)
            stem_color (tupel): Color or gradient for the stem of the tree.
            leaf_color (tupel): Color for the leaf (= the color for last iteration).
            thickness (int): The start thickness of the tree.

def draw_on(self, canvas, stem_color, leaf_color, thickness, ages=None):
        """Draw the tree on a canvas.

        Args:
            canvas (object): The canvas, you want to draw the tree on. Supported canvases: svgwrite.Drawing and PIL.Image (You can also add your custom libraries.)
            stem_color (tupel): Color or gradient for the stem of the tree.
            leaf_color (tupel): Color for the leaf (= the color for last iteration).
            thickness (int): The start thickness of the tree.
        """
        if canvas.__module__ in SUPPORTED_CANVAS:
            drawer = SUPPORTED_CANVAS[canvas.__module__]
            drawer(self, canvas, stem_color, leaf_color, thickness, ages).draw()