class_docstr: Plot a group of elements in a grid layout based on a GridSpace element
  object.
code: def initialize_plot(self, ranges=None):
      # Get the extent of the layout elements (not the whole layout)
      key = self.keys[-1]
      axis = self.handles["axis"]
      subplot_kwargs = {}
      ranges = self.compute_ranges(self.layout, key, ranges)
      for subplot in self.subplots.values():
          subplot.initialize_plot(ranges=ranges, **subplot_kwargs)
  
      if self.show_title:
          title = axis.set_title(
              self._format_title(key), **self._fontsize("title")
          )
          self.handles["title"] = title
  
      self._readjust_axes(axis)
      self.drawn = True
      if self.subplot:
          return self.handles["axis"]
      if self._close_figures:
          plt.close(self.handles["fig"])
      return self.handles["fig"]
  
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 4 for calling the GridPlot obj's underlying member method code with example usage: obj.initialize_plot(ranges) and returns: self, self