docs: def plot_wigner3d(iradon_output, bin_centres, bin_centre_units="", cmap=_cm.cubehelix_r, view=(10, -45), figsize=(10, 10)):
      """
      Plots the wigner space representation as a 3D surface plot.
  
      Parameters
      ----------
      iradon_output : ndarray
          2d array of size (histbins x histbins)
      bin_centres : ndarray
          positions of the bin centres
      bin_centre_units : string, optional (default="")
          Units in which the bin_centres are given
      cmap : matplotlib.cm.cmap, optional (default=cm.cubehelix_r)
          color map to use for Wigner
      view : tuple, optional (default=(10, -45))
          view angle for 3d wigner plot
      figsize : tuple, optional (default=(10, 10))
          tuple defining size of figure created
  
      Returns
      -------
      fig : matplotlib.figure.Figure object
          figure showing the wigner function
      ax : matplotlib.axes.Axes object
          axes containing the object
  
      """
      fig = _plt.figure(figsize=figsize)
      ax = fig.add_subplot(111, projection='3d')
  
      resid1 = iradon_output.sum(axis=0)
      resid2 = iradon_output.sum(axis=1)
  
      x = bin_centres # replace with x
      y = bin_centres # replace with p (xdot/omega)
      xpos, ypos = _np.meshgrid(x, y)
      X = xpos
      Y = ypos
      Z = iradon_output
  
      ax.set_xlabel("x ({})".format(bin_centre_units))
      ax.set_xlabel("y ({})".format(bin_centre_units))
  
      ax.scatter(_np.min(X)*_np.ones_like(y), y, resid2/_np.max(resid2)*_np.max(Z), alpha=0.7)
      ax.scatter(x, _np.max(Y)*_np.ones_like(x), resid1/_np.max(resid1)*_np.max(Z), alpha=0.7)
  
      # Plot the surface.
      surf = ax.plot_surface(X, Y, Z, cmap=cmap,
                             linewidth=0, antialiased=False)
  
      # Customize the z axis.
      #ax.set_zlim(-1.01, 1.01)
      #ax.zaxis.set_major_locator(LinearLocator(10))
      #ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
  
      # Add a color bar which maps values to colors.
      fig.colorbar(surf, shrink=0.5, aspect=5)
  
      ax.view_init(view[0], view[1])
  
      return fig, ax