docs: def mark_locations(h,section,locs,markspec='or',**kwargs):
      """
      Marks one or more locations on along a section. Could be used to
      mark the location of a recording or electrical stimulation.
  
      Args:
          h = hocObject to interface with neuron
          section = reference to section
          locs = float between 0 and 1, or array of floats
          optional arguments specify details of marker
  
      Returns:
          line = reference to plotted markers
      """
  
      # get list of cartesian coordinates specifying section path
      xyz = get_section_path(h,section)
      (r,theta,phi) = sequential_spherical(xyz)
      rcum = np.append(0,np.cumsum(r))
  
      # convert locs into lengths from the beginning of the path
      if type(locs) is float or type(locs) is np.float64:
          locs = np.array([locs])
      if type(locs) is list:
          locs = np.array(locs)
      lengths = locs*rcum[-1]
  
      # find cartesian coordinates for markers
      xyz_marks = []
      for targ_length in lengths:
          xyz_marks.append(find_coord(targ_length,xyz,rcum,theta,phi))
      xyz_marks = np.array(xyz_marks)
  
      # plot markers
      line, = plt.plot(xyz_marks[:,0], xyz_marks[:,1], \
                       xyz_marks[:,2], markspec, **kwargs)
      return line