class_docstr: RasterGridPlot evenly spaces out plots of individual projections on
  a grid, even when they differ in size. Since this class uses a single
  axis to generate all the individual plots it is much faster than the
  equivalent using subplots.
class_docstr_tok: ["RasterGridPlot","evenly","spaces","out","plots","of","individual","projections","on","a","grid",",","even","when","they","differ","in","size",".","Since","this","class","uses","a","single","axis","to","generate","all","the","individual","plots","it","is","much","faster","than","the","equivalent","using","subplots","."]
code: def __init__(
      self,
      layout,
      keys=None,
      dimensions=None,
      create_axes=False,
      ranges=None,
      layout_num=1,
      **params,
  ):
      self.top_level = keys is None
      if self.top_level:
          dimensions, keys = traversal.unique_dimkeys(layout)
      MPLPlot.__init__(self, dimensions=dimensions, keys=keys, **params)
  
      self.layout = layout
      self.cyclic_index = 0
      self.zorder = 0
      self.layout_num = layout_num
      self.overlaid = False
      self.hmap = layout
      if layout.ndims > 1:
          xkeys, ykeys = zip(*layout.keys())
      else:
          xkeys = layout.keys()
          ykeys = [None]
      self._xkeys = list(dict.fromkeys(xkeys))
      self._ykeys = list(dict.fromkeys(ykeys))
  
      self._xticks, self._yticks = [], []
      self.rows, self.cols = layout.shape
      self.fig_inches = self._get_size()
      _, _, self.layout = self._create_subplots(
          layout, None, ranges, create_axes=False
      )
      self.border_extents = self._compute_borders()
      width, height, _, _, _, _ = self.border_extents
      if self.aspect == "equal":
          self.aspect = float(width / height)
      # Note that streams are not supported on RasterGridPlot
      # until that is implemented this stub is needed
      self.streams = []
  
imports: import sys
  import numpy
  import param
  from packaging.version import Version
  from ...core import CompositeOverlay, Element, traversal
  from ...core.util import isfinite, match_spec, max_range, unique_iterator
  from ...element.raster import RGB, Image, Raster
  from ..util import categorical_legend
  from .chart import PointPlot
  from .element import ColorbarPlot, ElementPlot, LegendPlot, OverlayPlot
  from .plot import GridPlot, MPLPlot, mpl_rc_context
  from .util import get_raster_array, mpl_version
label_desc: Use image node_id 1 to create a new RasterGridPlot object from inherited base classes: GridPlot, OverlayPlot with example: obj = RasterGridPlot(layout, keys, dimensions, create_axes, ranges, layout_num)