code: def draw(self, renderer, *args, **kwargs):
      stretch_factor = self._bbox.height / self._bbox.width
  
      ny = int(stretch_factor * self._ribbonbox.nx)
      if self.get_array() is None or self.get_array().shape[0] != ny:
          arr = self._ribbonbox.get_stretched_image(stretch_factor)
          self.set_array(arr)
  
      super().draw(renderer, *args, **kwargs)
  
file_path: matplotlib/galleries/examples/misc/demo_ribbon_box.py
imports: import matplotlib.pyplot
  import numpy
  from matplotlib import cbook
  from matplotlib import colors
  from matplotlib.image import AxesImage
  from matplotlib.transforms import Bbox, BboxTransformTo, TransformedBbox
label_desc: Use image node_id 2 for calling the RibbonBoxImage obj's underlying member method code with example usage: obj.draw(renderer) without return types