2017-06-29 9 views
-1

私はそれぞれ2つのy軸を持つサブプロットの3x2グリッドを作成します。彼らはすべての軸を共有する必要があります。それは古いスレッドにあるすべてのサブプロット(間、他方の軸を用いて行われるようには、両方のy軸をサブプロットで共有します

fig, axarray = plt.subplots(3,2, sharex = True, sharey = True) 
z1 = 0 
z2 = 0 
ax = list() 
counter = 0 

for i in range(0,len(x)): 

    axarray[z1,z2].plot(x[i] , y[i]) 
    ax.append(axarray[z1,z2].twinx()) 

    if z2 == 0 : 
     axarray[z1,z2].get_shared_y_axes().join(axarray[z1,z2], axarray[z1,z2+1]) <-<-<-<- 
    ax[counter].plot(x[i] , y[i] , '-r') 

    counter += 1 
    z2 += 1 
    if z2 == 2: 
     z1 += 1 
     z2 = 0 

は、基本的に次の行が、Y2軸を共有する必要があります。このようなサブプロットを作成するとき、XとY1軸はオプションで共有されています)、それは軸のスケールを更新するだけです。 z1とz2はプロットの位置を定義しています。

axarray[z1,z2].get_shared_y_axes().join(axarray[z1,z2], axarray[z1,z2+1]) 

残念ながらサブプロット関数のオプションがないので、y2軸を共有する方法はありますか?

I get the following

よろしく

答えて

0

ライン新しく作成したTWINX軸ではなく、いくつかの次の軸とaxarray[z1,z2]を共有したいので

axarray[z1,z2].get_shared_y_axes().join(axarray[z1,z2], ax[counter]) 

をお読みください。

enter image description here

私はちょうどTWINXのy軸を共有することは、実際に有用ではないと言う、あなただけのオリジナルの軸上で右ticklabelsを活性化することにより、同じ効果を得ることができましょう。

+0

twinxのy軸を、第1列のすべてのプロットから第2列のプロットと共有したいとします。したがって、私はそれを(z2 == 0 < - 最初の列)同じz1のプロットで共有しようとしましたが、z2 = 1でした。 –

+0

私は問題全体を理解することに問題があります。作成されたプロットは、私にとってはうまく見えます。何が問題なのですか? – ImportanceOfBeingErnest

+0

サブプロットはx軸とy1軸を共有します。 y2軸が共有されている場合、列1のプロット間のように、プロット間にラベル(正確な単語はありません)はありません。 –

関連する問題