def METHOD_NAME(self, plot):
    """Sets up the background, and several tools on a plot"""
    # Make a white background with grids and axes
    plot.bgcolor = "white"
    add_default_grids(plot)
    add_default_axes(plot)
    # Allow white space around plot
    plot.index_range.tight_bounds = False
    plot.index_range.refresh()
    plot.value_range.tight_bounds = False
    plot.value_range.refresh()
    # The PanTool allows panning around the plot
    plot.tools.append(PanTool(plot))
    # The ZoomTool tool is stateful and allows drawing a zoom
    # box to select a zoom region.
    zoom = ZoomTool(plot, tool_mode="box", always_on=False)
    plot.overlays.append(zoom)
    # The DragZoom tool just zooms in and out as the user drags
    # the mouse vertically.
    dragzoom = DragZoom(plot, drag_button="right")
    plot.tools.append(dragzoom)
    # Add a legend in the upper right corner, and make it relocatable
    legend = Legend(component=plot, padding=10, align="ur")
    legend.tools.append(LegendTool(legend, drag_button="right"))
    plot.overlays.append(legend)
    return plot.value_mapper, plot.index_mapper, legend