docs: def _prepare_plot(self, origin=(0, 0), indices=None, ax=None,
                        fill=False, **kwargs):
          """
          Prepare to plot the aperture(s) on a matplotlib
          `~matplotlib.axes.Axes` instance.
  
          Parameters
          ----------
          origin : array_like, optional
              The ``(x, y)`` position of the origin of the displayed
              image.
  
          indices : int or array of int, optional
              The indices of the aperture(s) to plot.
  
          ax : `matplotlib.axes.Axes` instance, optional
              If `None`, then the current `~matplotlib.axes.Axes` instance
              is used.
  
          fill : bool, optional
              Set whether to fill the aperture patch.  The default is
              `False`.
  
          kwargs
              Any keyword arguments accepted by `matplotlib.patches.Patch`.
  
          Returns
          -------
          plot_positions : `~numpy.ndarray`
              The positions of the apertures to plot, after any
              ``indices`` slicing and ``origin`` shift.
  
          ax : `matplotlib.axes.Axes` instance, optional
              The `~matplotlib.axes.Axes` on which to plot.
  
          kwargs
              Any keyword arguments accepted by `matplotlib.patches.Patch`.
          """
  
          import matplotlib.pyplot as plt
  
          if ax is None:
              ax = plt.gca()
  
          # This is necessary because the `matplotlib.patches.Patch` default
          # is ``fill=True``.  Here we make the default ``fill=False``.
          kwargs['fill'] = fill
  
          plot_positions = copy.deepcopy(self.positions)
          if indices is not None:
              plot_positions = plot_positions[np.atleast_1d(indices)]
  
          plot_positions[:, 0] -= origin[0]
          plot_positions[:, 1] -= origin[1]
  
          return plot_positions, ax, kwargs