2017-06-29 38 views
-1

我想創建一個3x2的子圖,每個子圖具有兩個y軸。他們應該共享所有的軸。在子圖中共享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

該行應該讀

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

,因爲你想分享axarray[z1,z2]與新創建twinx軸而不是一些未來軸。

enter image description here

我只想說的是共享twinx的Y軸是不實際的用處,你可以通過只激活原始軸右ticklabels同樣的效果。

+0

我想分享第一列的所有地塊與第二列的雙胞胎的y軸。因此,我試圖分享它(z2 == 0 < - 第一列)與相同的z1,但z2 = 1的情節。 –

+0

我的理解整個問題確實存在問題。創造的情節對我來說很好,究竟是什麼問題? – ImportanceOfBeingErnest

+0

子圖分享x和y1軸。如果y2軸是共享的,那麼將不會有任何標籤(我不知道是什麼字),就像第1列中的情節之間的情況一樣。感謝您的幫助。 –

相關問題