class_docstr: A LayoutPlot accepts either a Layout or a NdLayout and
  displays the elements in a cartesian grid in scanline order.
code: def initialize_plot(self):
      key = self.keys[-1]
      ranges = self.compute_ranges(self.layout, key, None)
      for subplot in self.subplots.values():
          subplot.initialize_plot(ranges=ranges)
  
      # Create title handle
      title_obj = None
      title = self._format_title(key)
      if self.show_title and len(self.coords) > 1 and title:
          title_obj = self.handles["fig"].suptitle(
              title, **self._fontsize("title")
          )
          self.handles["title"] = title_obj
          self.handles["bbox_extra_artists"] += [title_obj]
  
      fig = self.handles["fig"]
      if (
          not self.traverse(specs=[GridPlot])
          and not isinstance(self.fig_inches, tuple)
          and self.v17_layout_format
      ):
          traverse_fn = lambda x: x.handles.get(
              "bbox_extra_artists", None
          )
          extra_artists = list(
              chain.from_iterable(
                  artists
                  for artists in self.traverse(traverse_fn)
                  if artists is not None
              )
          )
          fix_aspect(
              fig,
              self.rows,
              self.cols,
              title_obj,
              extra_artists,
              vspace=self.vspace * self.fig_scale,
              hspace=self.hspace * self.fig_scale,
          )
          colorbars = self.traverse(
              specs=[lambda x: hasattr(x, "colorbar")]
          )
          for cbar_plot in colorbars:
              if cbar_plot.colorbar:
                  cbar_plot._draw_colorbar(redraw=False)
          adjoineds = self.traverse(specs=[AdjointLayoutPlot])
          for adjoined in adjoineds:
              if len(adjoined.subplots) > 1:
                  adjoined.adjust_positions(redraw=False)
      return self._finalize_axis(None)
  
imports: from contextlib import contextmanager
  from itertools import chain
  import matplotlib
  import numpy
  import param
  from matplotlib import animation, gridspec, pyplot, rcParams
  from matplotlib.font_manager import font_scalings
  from mpl_toolkits.mplot3d import Axes3D
  from ...core import AdjointLayout, Collator, CompositeOverlay, Element, Empty, GridMatrix, GridSpace, HoloMap, Layout, NdLayout
  from ...core.options import SkipRendering, Store
  from ...core.util import int_to_alpha, int_to_roman, wrap_tuple_streams
  from ..plot import DimensionedPlot, GenericAdjointLayoutPlot, GenericCompositePlot, GenericElementPlot, GenericLayoutPlot
  from ..util import attach_streams, collate, displayable
  from .util import compute_ratios, fix_aspect, get_old_rcparams
label_desc: Use image node_id 5 for calling the LayoutPlot obj's underlying member method code with example usage: obj.initialize_plot() and returns: self