length_heights = [] lengths = [] for length in length_rows: length_heights.append(length[0]) lengths.append(length[1]) return length_heights, lengths #plt.figure() for event_name, event_statement in zip(event_names, event_statements): heights,lengths = get_region_lengths(event_statement) if args.normalize: heights = [height/float(sum(heights)) for height in heights] if args.cumulative: heights = [sum(heights[:i]) for i in range(len(heights))] plt.plot(lengths, heights, label = event_name) plt.legend(loc='center left', bbox_to_anchor=(1, 0.5)) plt.xlabel("Length of " + args.region + " region in amino acids") if args.cumulative: title = "Cumulative frequency" else: title = "Observed frequency" if args.normalize: title = title + " (normalized)" plt.ylabel(title) ttl = plt.title(igplt.plot_log(args.region + ' region length distribution', sys.argv, db)) plt.savefig(args.outputdir + "/%s_%s_%s_%s" % (args.event_infile, args.locus, args.region, title) + '.pdf', bbox_extra_artists=(ttl,), bbox_inches='tight')
plt.figure(figsize=(0.3*len(gene_labels), 7)) if args.normalize == True: norm_fact = 1./sum(gene_heights) gene_heights = [height*norm_fact for height in gene_heights] norm = "norm" plt.ylabel("Relative Frequencies") else: norm_fact = 1 norm = "abs" plt.ylabel("Absolute frequencies") positions = np.arange(0,len(gene_heights),1) plt.bar(positions, gene_heights, color = 'grey') ticks = plt.xticks(positions + 0.4, gene_labels, rotation = 90, fontsize = 12) ttl = plt.title(event_name + "\n" + igplt.plot_log('Segment usage', sys.argv)) plt.savefig("%s_%s_%s_%s_%s_%s_%s" % (args.event_infile, event_name, resolve, segment, args.locus, args.plotstyle, norm) + '.pdf', bbox_extra_artists=(ttl,), bbox_inches='tight') elif args.plotstyle == 'stacked': plt.figure(figsize=(7, 0.7*len(event_statements))) label_list = [] for event_statement, i in zip(event_statements, range(len(event_statements))): #print event_statement gene_heights, gene_labels = get_gene_list(event_statement) if args.normalize == True: norm_fact = 1./sum(gene_heights) plt.xlim(0,1) norm = "norm" else: norm_fact = 1