2014-10-08 117 views
0

我有兩個問題關於我的數字下面張貼。我有一個數字,其中包含兩種類型的數據,如下所示。最上面的子圖(軸手柄= ax1)應該佔用圖的整個寬度(如已經完成的),以下子圖(左列具有句柄ax2:ax6,右列具有句柄ax7:ax11)。我想要ax2:ax11子圖共享x/y軸,如圖所示(我將在後面清理標籤等),但我也希望ax1和它下面的子圖之間有空格,以便我可以看到ax1的x-tick標籤和x軸標籤(即在ax1和ax2/ax7之間有垂直空間)。問題1:誰能告訴我這是怎麼完成的?Subplot特定間距和單軸標籤

沒有必要標記每個子圖的(ax2:ax11)y軸。問題2:有人可以解釋如何在圖上放置一個y軸標籤來代表ax2:ax11(ax1將擁有自己的y軸標籤)?

我通過創建次要情節:

fig = figure(figsize=(5.5,7.5)) 
ax1 = subplot2grid(shape=(6,2),loc=(0,0),rowspan=1,colspan=2) # dSCD vs SZA 
ax2 = subplot2grid(shape=(6,2),loc=(1,0),rowspan=1,colspan=1) # resid @ SZA==90am 
ax3 = subplot2grid(shape=(6,2),loc=(2,0),rowspan=1,colspan=1) # resid @ SZA==91am 
ax4 = subplot2grid(shape=(6,2),loc=(3,0),rowspan=1,colspan=1) # resid @ SZA==92am 
ax5 = subplot2grid(shape=(6,2),loc=(4,0),rowspan=1,colspan=1) # resid @ SZA==93am 
ax6 = subplot2grid(shape=(6,2),loc=(5,0),rowspan=1,colspan=1) # resid @ SZA==94am 

ax7 = subplot2grid(shape=(6,2),loc=(1,1),rowspan=1,colspan=1) # resid @ SZA==90pm 
ax8 = subplot2grid(shape=(6,2),loc=(2,1),rowspan=1,colspan=1) # resid @ SZA==91pm 
ax9 = subplot2grid(shape=(6,2),loc=(3,1),rowspan=1,colspan=1) # resid @ SZA==92pm 
ax10 = subplot2grid(shape=(6,2),loc=(4,1),rowspan=1,colspan=1) # resid @ SZA==93pm 
ax11 = subplot2grid(shape=(6,2),loc=(5,1),rowspan=1,colspan=1) # resid @ SZA==93pm 

fig.subplots_adjust(hspace=0,wspace=0,top=0.95) 
ax1.set_xlabel('Text Text Text',fontsize=8) 

enter image description here

回答

2

您可以使用GridSpec直接創建兩套軸,一個在頂部,一個在底部,並把它們之間的空間。要爲所有軸創建y標籤,請使用圖text

import matplotlib.pyplot as plt 
from matplotlib.gridspec import GridSpec 

fig = plt.figure(figsize=(5.5,7.5)) 

gs1 = GridSpec(1, 1) 
gs1.update(left=0.05, right=0.95, top=0.95, bottom=0.85, wspace=0.05) 
ax1 = plt.subplot(gs1[0]) 
ax1.set_xticks([]) 
ax1.set_yticks([]) 

gs2 = GridSpec(5, 2) 
gs2.update(top=0.75, hspace=0.05) 

for i in gs2: 
    ax = plt.subplot(i) 
    ax.set_xticks([]) 
    ax.set_yticks([]) 

ax1.set_xlabel('Text Text Text',fontsize=8) 
fig.text(0.03,0.45,'some label',rotation='vertical') 

plt.show() 

GridSpec with shared y label

+0

這完美地工作。對不起,我沒有早點回復你! – tnknepp 2014-12-11 19:42:48