2017-06-26 8 views
1

私が探していたものが見つかりませんでした。Matplotlib;サブトリットにylimitを設定するのに役立つ

yプロットのy軸にy制限範囲を設定するにはどうすればよいですか? 以下は私が達成しようとしていることのデモです。現在、範囲は自動です。私は最初のサブプロット上の特定のy制限範囲を例えば50から100に設定したいと思います。私は運がない(あなたがコメントアウトされているのを見るでしょう)いくつかのことを試しました。ここで

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") 

答えて

0

あなたがそれを行うことができる方法である。

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

私はそれが動作することを確認するためにあなたのコードでそれをテストし、トップサブプロットは、そのyの制限が変更されました。

+0

ありがとうございます!私はそれを試して、それは動作します!私はあなたに投票しましたが、私の評判は15歳未満であり、私はupvoteできませんと言います。ごめんなさい。 –

+0

それは問題ありません。それがうれしい! – jacoblaw

関連する問題