Ejemplo n.º 1
0
def plotInterExpBabyCount(plotName = -1, username = USERNAME, database = DATABASE):
    """
    This function plots number of babies common in each pair of experiments. 
    """
    #establishing connection to the database
    con = psy.connect(database= database, user = username)
    
    #fetch a list of experiment ids in the database
    exp_ids, names = db.getExperimentIdsDB(con)
    
    #initailizing a matrix to store results
    mtx = np.zeros((len(exp_ids), len(exp_ids)))
    
    for ii, exp_id1 in enumerate(exp_ids):
        for jj, exp_id2 in enumerate(exp_ids):
            #fetching list of babies which are common in pairs of experiments
            babies = db.getBabiesCommonInExp(con, exp_id1, exp_id2)
            mtx[ii,jj] = len(babies)
    y_labels = []
    x_labels = []
    for ii, label in enumerate(names):
        y_labels.append('E%d_%s'%(ii+1, label))
        x_labels.append('E%d'%(ii+1))
    
    width = len(x_labels)
    height = len(y_labels)
 
    fig = plt.figure()
    plt.clf()
    ax = fig.add_subplot(111)
    ax.set_aspect(1)
    #ax.grid(which='major')
    res = ax.matshow(mtx, interpolation='nearest', aspect='1', cmap=plt.cm.GnBu, extent=[0, width, height, 0])
    
    for x in range(width):
        for y in range(height):
            ax.annotate(str(int(mtx[x][y])), xy=(y+0.5, x+0.5), 
                    horizontalalignment='center',
                    verticalalignment='center')
        
    divider = make_axes_locatable(ax)
    cax = divider.append_axes("bottom", size="5%", pad=0.4)
    cb = fig.colorbar(res, cax=cax, orientation = 'horizontal')

    #Axes
    ax.set_title("Baby count common in pairs of experiments", y = 1.1)
    ax.set_xlabel("Experiment ID")
    ax.set_ylabel("Experiment ID")
    ax.set_xticks(np.arange(width)+0.5)
    ax.set_xticklabels(x_labels, rotation='vertical')
    ax.xaxis.labelpad = 0.5
    ax.set_yticks(np.arange(height)+0.5)
    ax.set_yticklabels(y_labels , rotation='horizontal')
    if plotName == -1:
        plt.show()
    else:
        plt.savefig(plotName, bbox_inches="tight")
    
    return True
Ejemplo n.º 2
0
def plotInterExpBabyCount_PerLanguage(outDir,
                                      username=USERNAME,
                                      database=DATABASE):
    """
    """

    langua_groups = {
        'monolingual': ['mon', 'Mon', 'Monolingual', 'MonCat', 'MonEsp'],
        'bilingual': ['BilCat', 'BilEsp', 'Bilingual', 'BilEspCat', 'bil']
    }
    #estblishing connection to the database
    con = psy.connect(database=database, user=username)

    #fetch a list of experiment ids in the database
    exp_ids, names = db.getExperimentIdsDB(con)

    for lang in langua_groups.keys():

        #initailizing a matrix to store results
        mtx = np.zeros((len(exp_ids), len(exp_ids)))

        for ii, exp_id1 in enumerate(exp_ids):
            for jj, exp_id2 in enumerate(exp_ids):
                #fetching list of babies which are common in pairs of experiments
                babies = db.getBabiesCommonInExp(con,
                                                 exp_id1,
                                                 exp_id2,
                                                 language=langua_groups[lang])
                mtx[ii, jj] = len(babies)

    y_labels = []
    x_labels = []
    for ii, label in enumerate(names):
        y_labels.append('E%d_%s' % (ii + 1, label))
        x_labels.append('E%d' % (ii + 1))

        width = len(x_labels)
        height = len(y_labels)

        fig = plt.figure()
        plt.clf()
        ax = fig.add_subplot(111)
        ax.set_aspect(1)
        #ax.grid(which='major')
        res = ax.matshow(mtx,
                         interpolation='nearest',
                         aspect='1',
                         cmap=plt.cm.GnBu,
                         extent=[0, width, height, 0])

        for x in range(width):
            for y in range(height):
                ax.annotate(str(int(mtx[x][y])),
                            xy=(y + 0.5, x + 0.5),
                            horizontalalignment='center',
                            verticalalignment='center')

        divider = make_axes_locatable(ax)
        cax = divider.append_axes("bottom", size="5%", pad=0.4)
        cb = fig.colorbar(res, cax=cax, orientation='horizontal')

        #Axes
        ax.set_title("Baby count common in pairs of experiments")
        ax.set_xlabel("Experiment ID")
        ax.set_ylabel("Experiment ID")
        ax.set_xticks(np.arange(width) + 0.5)
        ax.set_xticklabels(x_labels, rotation='vertical')
        ax.xaxis.labelpad = 0.5
        ax.set_yticks(np.arange(height) + 0.5)
        ax.set_yticklabels(y_labels, rotation='horizontal')
        plt.savefig(os.path.join(outDir, lang + '.pdf'), bbox_inches="tight")

    return True
Ejemplo n.º 3
0
def plotInterExpBabyCount(plotName=-1, username=USERNAME, database=DATABASE):
    """
    This function plots number of babies common in each pair of experiments. 
    """
    #establishing connection to the database
    con = psy.connect(database=database, user=username)

    #fetch a list of experiment ids in the database
    exp_ids, names = db.getExperimentIdsDB(con)

    #initailizing a matrix to store results
    mtx = np.zeros((len(exp_ids), len(exp_ids)))

    for ii, exp_id1 in enumerate(exp_ids):
        for jj, exp_id2 in enumerate(exp_ids):
            #fetching list of babies which are common in pairs of experiments
            babies = db.getBabiesCommonInExp(con, exp_id1, exp_id2)
            mtx[ii, jj] = len(babies)
    y_labels = []
    x_labels = []
    for ii, label in enumerate(names):
        y_labels.append('E%d_%s' % (ii + 1, label))
        x_labels.append('E%d' % (ii + 1))

    width = len(x_labels)
    height = len(y_labels)

    fig = plt.figure()
    plt.clf()
    ax = fig.add_subplot(111)
    ax.set_aspect(1)
    #ax.grid(which='major')
    res = ax.matshow(mtx,
                     interpolation='nearest',
                     aspect='1',
                     cmap=plt.cm.GnBu,
                     extent=[0, width, height, 0])

    for x in range(width):
        for y in range(height):
            ax.annotate(str(int(mtx[x][y])),
                        xy=(y + 0.5, x + 0.5),
                        horizontalalignment='center',
                        verticalalignment='center')

    divider = make_axes_locatable(ax)
    cax = divider.append_axes("bottom", size="5%", pad=0.4)
    cb = fig.colorbar(res, cax=cax, orientation='horizontal')

    #Axes
    ax.set_title("Baby count common in pairs of experiments", y=1.1)
    ax.set_xlabel("Experiment ID")
    ax.set_ylabel("Experiment ID")
    ax.set_xticks(np.arange(width) + 0.5)
    ax.set_xticklabels(x_labels, rotation='vertical')
    ax.xaxis.labelpad = 0.5
    ax.set_yticks(np.arange(height) + 0.5)
    ax.set_yticklabels(y_labels, rotation='horizontal')
    if plotName == -1:
        plt.show()
    else:
        plt.savefig(plotName, bbox_inches="tight")

    return True
Ejemplo n.º 4
0
def plotInterExpBabyCount_PerLanguage(outDir, username = USERNAME, database = DATABASE):
    """
    """
 
    langua_groups = {'monolingual': ['mon', 'Mon', 'Monolingual', 'MonCat', 'MonEsp'],
                     'bilingual': ['BilCat', 'BilEsp', 'Bilingual', 'BilEspCat', 'bil']}
    #estblishing connection to the database
    con = psy.connect(database= database, user = username)
    
    #fetch a list of experiment ids in the database
    exp_ids, names = db.getExperimentIdsDB(con)
    
    for lang in langua_groups.keys():
    
        #initailizing a matrix to store results
        mtx = np.zeros((len(exp_ids), len(exp_ids)))
        
        for ii, exp_id1 in enumerate(exp_ids):
            for jj, exp_id2 in enumerate(exp_ids):
                #fetching list of babies which are common in pairs of experiments
                babies = db.getBabiesCommonInExp(con, exp_id1, exp_id2, language = langua_groups[lang])
                mtx[ii,jj] = len(babies)
        
            
    y_labels = []
    x_labels = []
    for ii, label in enumerate(names):
        y_labels.append('E%d_%s'%(ii+1, label))
        x_labels.append('E%d'%(ii+1))
            
        width = len(x_labels)
        height = len(y_labels)
    
        fig = plt.figure()
        plt.clf()
        ax = fig.add_subplot(111)
        ax.set_aspect(1)
        #ax.grid(which='major')
        res = ax.matshow(mtx, interpolation='nearest', aspect='1', cmap=plt.cm.GnBu, extent=[0, width, height, 0])
        
        for x in range(width):
            for y in range(height):
                ax.annotate(str(int(mtx[x][y])), xy=(y+0.5, x+0.5), 
                        horizontalalignment='center',
                        verticalalignment='center')
            
        divider = make_axes_locatable(ax)
        cax = divider.append_axes("bottom", size="5%", pad=0.4)
        cb = fig.colorbar(res, cax=cax, orientation = 'horizontal')

        #Axes
        ax.set_title("Baby count common in pairs of experiments")
        ax.set_xlabel("Experiment ID")
        ax.set_ylabel("Experiment ID")
        ax.set_xticks(np.arange(width)+0.5)
        ax.set_xticklabels(x_labels, rotation='vertical')
        ax.xaxis.labelpad = 0.5
        ax.set_yticks(np.arange(height)+0.5)
        ax.set_yticklabels(y_labels , rotation='horizontal')
        plt.savefig(os.path.join(outDir, lang+'.pdf'), bbox_inches="tight")
    
    return True