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

Reply via email to