Thanks! On Mon, Jul 20, 2009 at 3:44 PM, Jae-Joon Lee<lee.j.j...@gmail.com> wrote: > index for subplot starts from 1, not 0 (the convention is from Matlab). > > Regards, > > -JJ > > > On Mon, Jul 20, 2009 at 6:31 PM, W. Augustine Dunn > III<wadun...@gmail.com> wrote: >> Hello y'all: >> >> I am trying to plot a fig with three subplots. However when I run my >> script the subplots are all shifted way too high >> (http://img.skitch.com/20090720-fp462u8ww4bq38j29u9bjtr2cx.png) and >> the top subplot is cut off. >> >> I tried doing something like this from reading another poster's thread >> but this did absolutely nothing: >> mpl.figure.SubplotParams(left= (48 / 72.0) / figW, # 48-point left >> margin >> bottom= (36 / 72.0) / figH, # etc. >> right= 1 - (18 / 72.0) / figW, >> top= 1 - (12 / 72.0) / figH) >> >> Anyone have an idea how to fix this. >> >> Thank you for your time. >> >> Gus >> >> The code is below for those interested: >> <code> >> supTitle = 'Ortholog Pairs Matching "Real" or "Control" Ag miRNA seeds.' >> >> data = [] >> for dFile in iFiles: >> data.append(pickle.load(open(dFile,'rU'))) >> >> ks = [] >> for i in range(len(data)): >> ks.append(sorted(data[i].keys())) >> >> for i in range(len(ks)): >> if "!doc" in ks[i]: ks[i].pop(0) # if the pkl has a !doc entry. pop it >> assert odd_or_even(len(ks[i])) == 'even', 'Error: len(ks[i]) must be >> even.' >> pos1Data = eval('[%s]' % ('[],'*len(data))) >> pos1Keys = eval('[%s]' % ('[],'*len(data))) >> pos2Data = eval('[%s]' % ('[],'*len(data))) >> pos2Keys = eval('[%s]' % ('[],'*len(data))) >> >> for i in range(len(ks)): >> for j in range(len(ks[i])): >> if odd_or_even(j) == 'even': # remember that we start with 0 >> which is even. >> pos1Data[i].append(data[i][ks[i][j]]) >> pos1Keys[i].append(ks[i][j]) >> else: >> pos2Data[i].append(data[i][ks[i][j]]) >> pos2Keys[i].append(ks[i][j]) >> >> figW = 16 >> figH = 8 >> plt.figure(num=None, figsize=None, dpi=None, facecolor='w', edgecolor='k') >> subplotpars=mpl.figure.SubplotParams(left= (48 / 72.0) / figW, >> # 48-point left margin >> bottom= (36 / 72.0) / figH, # etc. >> right= 1 - (18 / 72.0) / figW, >> top= 1 - (12 / 72.0) / figH) >> >> plt.suptitle(supTitle) >> for i in range(len(data)): >> matches1 = [x[0] for x in pos1Data[i]] >> ctrls1 = [-x[1] for x in pos1Data[i]] >> matches2 = [x[0] for x in pos2Data[i]] >> ctrls2 = [-x[1] for x in pos2Data[i]] >> >> assert len(matches1) == len(matches2), 'Error: matches1 and >> matches 2 do not have the same number of elements!' >> N = len(matches1) >> >> >> >> ind = np.arange(N) # the x locations for the groups >> width = 0.35 # the width of the bars: can also be len(x) sequence >> >> >> plt.subplot(len(data),1,i,) >> p1 = plt.bar(ind, ctrls1, width, color='w',) >> p2 = plt.bar(ind, matches1, width, color='b',) >> p3 = plt.bar(ind+width, ctrls2, width, color='w',) >> p4 = plt.bar(ind+width, matches2, width, color='b', ) >> plt.ylabel(subTitles[i]) >> if i == len(data)-1: >> plt.xlabel('miRNA seed') >> >> axMax = max(matches1+matches2)*1.1 >> axMin = min(ctrls1+ctrls2)*1.1 >> #plt.axis([0,len(matches1),axMin,axMax]) >> if i == 0: >> plt.legend( (p2[0], p1[0]), ('Real', 'Ctrls'), loc=(1.01,0.65) ) >> </code> >> >> ------------------------------------------------------------------------------ >> Enter the BlackBerry Developer Challenge >> This is your chance to win up to $100,000 in prizes! For a limited time, >> vendors submitting new applications to BlackBerry App World(TM) will have >> the opportunity to enter the BlackBerry Developer Challenge. See full prize >> details at: http://p.sf.net/sfu/Challenge >> _______________________________________________ >> Matplotlib-users mailing list >> Matplotlib-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >
-- Experience is not what happens to a man; it is what a man does with what happens to him. - Aldous Huxley ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users