GENESIS: Documentation

Related Documentation:

rasterplot.py

 
#!/usr/bin/env python  
 
# rasterplot - a command line utility to generate rasterplots of  
# firing times for a group of neurons.  It takes a single filename  
# as an argument, with a line for each cell containing the spike times separated  
# by spaces.  The times are plotted as dots with the time on the x-axis and  
# the cell number (the line number) on the y-axis.  
 
 
import sys, os  
import matplotlib.pyplot as plt  
 
def plot_file():  
    print ’Plotting %s’ % filename  
    fp = open(filename, ’r’)  
    format = ’b.’  
    cell_num = 0  
    for line in fp.readlines():  
        cell_num += 1  
        y = cell_num  
        data = line.split()  
        # print data[0], data[1], data[2], data[3]  
        for x in data:  
            axes.plot(x, y, format)  
    print "Processing finished"  
 
if __name__ == "__main__":  
    ’’’  
    rasterplot - a command line utility to generate rasterplots of firing  
    times for a group of neurons.  It takes a single filename as argument,  
    with a line for each cell containing the spike times separated by  
    spaces.  The times are plotted as dots with the time on the x-axis and  
    the cell number (the line number) on the y-axis.  
    ’’’  
    # create the plot and set size of the plot figure  
    fig = plt.figure(dpi=120)  
    axes = fig.add_subplot(111)  
    try:  
        filename = sys.argv[1]  
        if os.path.exists(filename):  
            plot_file()  
        else:  
            print ’**Error: Incorrect file name or path specified.\n’  
            print ’Usage: rasterplot filename’  
            sys.exit()  
    except:  
        print ’Bad file, or other error’  
        sys.exit()  
    axes.set_title(’Raster Plot: ’+filename)  
    axes.set_xlabel(’Seconds’)  
    axes.set_ylabel(’Cell Number’)  
    plt.draw()  
    plt.show()