docs: def plot_neuron(ax, nrn,
                  neurite_type=NeuriteType.all,
                  plane='xy',
                  soma_outline=True,
                  diameter_scale=_DIAMETER_SCALE, linewidth=_LINEWIDTH,
                  color=None, alpha=_ALPHA):
      '''Plots a 2D figure of the neuron, that contains a soma and the neurites
  
      Args:
          ax(matplotlib axes): on what to plot
          neurite_type(NeuriteType): an optional filter on the neurite type
          nrn(neuron): neuron to be plotted
          soma_outline(bool): should the soma be drawn as an outline
          plane(str): Any pair of 'xyz'
          diameter_scale(float): Scale factor multiplied with segment diameters before plotting
          linewidth(float): all segments are plotted with this width, but only if diameter_scale=None
          color(str or None): Color of plotted values, None corresponds to default choice
          alpha(float): Transparency of plotted values
      '''
      plot_soma(ax, nrn.soma, plane=plane, soma_outline=soma_outline, linewidth=linewidth,
                color=color, alpha=alpha)
  
      for neurite in iter_neurites(nrn, filt=tree_type_checker(neurite_type)):
          plot_tree(ax, neurite, plane=plane,
                    diameter_scale=diameter_scale, linewidth=linewidth,
                    color=color, alpha=alpha)
  
      ax.set_title(nrn.name)
      ax.set_xlabel(plane[0])
      ax.set_ylabel(plane[1])