##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Lance Simms, Stanford University 2009
import matplotlib
from pylab import *
import pdb
import numpy

def histOutline(dataIn, binsIn=None):
     """
     Make a histogram that can be plotted with plot() so that
     the histogram just has the outline rather than bars as it
     usually does.
     """
     if (binsIn == None):
         (en, eb) = numpy.histogram(dataIn)
         binsIn = eb
     else:
         (en, eb) = numpy.histogram(dataIn, bins=binsIn)
 
     stepSize = binsIn[1] - binsIn[0]
 
     bins = zeros(len(eb)*2 + 2, dtype=float)
     data = zeros(len(eb)*2 + 2, dtype=float)
     for bb in range(len(binsIn)-1):
         bins[2*bb + 1] = binsIn[bb]
         bins[2*bb + 2] = binsIn[bb] + stepSize
         data[2*bb + 1] = en[bb]
         data[2*bb + 2] = en[bb]

     bins[0] = bins[1]
     bins[-1] = bins[-2]
     data[0] = 0
     data[-1] = 0

     return (bins, data)

