2017-06-26 4 views
1

J'ai cherché et je n'ai pas trouvé ce que je cherchais.Matplotlib; Aide à la définition de ylimit dans la sous-parcelle

Comment puis-je définir la plage de limites y sur l'axe y d'une sous-carte? Voici une démo de ce que j'essaie d'accomplir. En ce moment, les plages sont automatiques. Je veux définir une plage de limites y spécifique sur la première sous-placette de 50 à 100 par exemple. J'ai essayé quelques choses sans aucune chance (vous le verrez commenté).

import math 
import matplotlib.pyplot as plt 
import random 


def graphIt(tupleList1, title1, List2, title2, List3, title3): 
    x = [] 
    y = [] 
    x2 = [] 
    y2 = [] 
    x3 = [] 
    y3 = [] 
    for i in range(len(tupleList1)): 
     x.append(tupleList1[i][0]) 
     y.append(tupleList1[i][1]) 
    for i in range(len(List2)): 
     x2.append(List2[i]) 
     y2.append(1) 
    for i in range(len(List3)): 
     x3.append(List3[i]) 
     y3.append(1) 
    f, plotarray = plt.subplots(3, sharex=True) 
    #plt.ylim((50, 100)) #<--This sets the range of plotarray[2] 
    #plotarray[0].ylim((50,100)) #<---No such attribute 'ylim' 
    plotarray[0].plot(x,y,"o-") 
    plotarray[0].set_title(title1) 
    plotarray[1].bar(x2,y2,0.15,color='b',label=title2) 
    plotarray[1].set_title(title2) 
    plotarray[2].bar(x3,y3,0.15,color='r',label=title3) 
    plotarray[2].set_title(title3) 
    plt.gcf().autofmt_xdate() 
    plt.show() 

myTupleList = [] 
myList2 = [] 
myList3 = [] 
for x in range(100): 
    y = random.random()*x 
    myTupleList.append((x,y)) 
    if y > 5 and y <20: 
     myList2.append(x) 
    if y >20 and y <30: 
     myList3.append(x) 

graphIt(myTupleList,"MyTupleList",myList2,"MyList2",myList3,"MyList3") 

Répondre

0

Voici comment vous pouvez le faire:

plotarray[0].set_ylim([50,100]) 

Je l'ai testé avec votre code pour vous assurer qu'il fonctionne, et le sommet intrigue secondaire a ses limites de y changer.

+0

Merci! Je l'ai essayé et il fonctionne! Je vous ai voté mais il est dit que ma réputation est inférieure à 15 et que je ne peux pas voter. Pardon. –

+0

C'est bon. Content que ça marche! – jacoblaw