def METHOD_NAME(
    length_plotters,
    rows=1,
    cols=1,
    figsize=None,
    squeeze=False,
    sharex=False,
    sharey=False,
    polar=False,
    backend_kwargs=None,
):
    """Create figure and axes for grids with multiple plots.
    Parameters
    ----------
    length_plotters : int
        Number of figures required
    rows : int
        Number of rows
    cols : int
        Number of columns
    figsize : tuple
        Figure size in inches
    squeeze : bool
        Return bokeh.figure object if True else ndarray of bokeh.figure objects
    sharex : bool
        Share x axis between the figures
    sharey : bool
        Share y axis between the figures
    polar : bool
        Set up polar coordinates plot
    backend_kwargs: dict, optional
        kwargs for backend figure.
    Returns
    -------
    figures : bokeh figure or np.array of bokeh.figure
    """
    if backend_kwargs is None:
        backend_kwargs = {}
    if figsize is not None:
        backend_kwargs = {
            **backend_kwarg_defaults(
                ("dpi", "plot.bokeh.figure.dpi"),
            ),
            **backend_kwargs,
        }
        dpi = backend_kwargs.pop("dpi")
        backend_kwargs.setdefault("width", int(figsize[0] * dpi / cols))
        backend_kwargs.setdefault("height", int(figsize[1] * dpi / rows))
    else:
        backend_kwargs = {
            **backend_kwarg_defaults(),
            **backend_kwargs,
        }
    figures = []
    if polar:
        backend_kwargs.setdefault("x_axis_type", None)
        backend_kwargs.setdefault("y_axis_type", None)
    for row in range(rows):
        row_figures = []
        for col in range(cols):
            if (row == 0) and (col == 0) and (sharex or sharey):
                p = figure(**backend_kwargs)  # pylint: disable=invalid-name
                row_figures.append(p)
                if sharex:
                    backend_kwargs["x_range"] = p.x_range
                if sharey:
                    backend_kwargs["y_range"] = p.y_range
            elif row * cols + (col + 1) > length_plotters:
                row_figures.append(None)
            else:
                row_figures.append(figure(**backend_kwargs))
        figures.append(row_figures)
    figures = array(figures)
    if figures.size == 1 and squeeze:
        figures = figures[0, 0]
    return figures