docs: def _layout(self):
          """
          Creates the grid layout for the joint plot, adding new axes for the histograms
          if necessary and modifying the aspect ratio. Does not modify the axes or the
          layout if self.hist is False or None.
          """
          # Ensure the axes are created if not hist, then return.
          if not self.hist:
              self.ax
              return
  
          # Ensure matplotlib version compatibility
          if make_axes_locatable is None:
              raise YellowbrickValueError((
                  "joint plot histograms requires matplotlib 2.0.2 or greater "
                  "please upgrade matplotlib or set hist=False on the visualizer"
              ))
  
          # Create the new axes for the histograms
          divider = make_axes_locatable(self.ax)
          self._xhax = divider.append_axes("top", size=1, pad=0.1, sharex=self.ax)
          self._yhax = divider.append_axes("right", size=1, pad=0.1, sharey=self.ax)
  
          # Modify the display of the axes
          self._xhax.xaxis.tick_top()
          self._yhax.yaxis.tick_right()
          self._xhax.grid(False, axis='y')
          self._yhax.grid(False, axis='x')