2014-04-07 2 views
2

에서 ImageGrid를 사용하는 경우 하위 도면의 크기를 조정하는 방법, 나는 두 개의 하위 도면, 공통 색 막대 그래프의 그룹을 포함하는 각 구성되는 그림을 생산하기 위해 노력하고있어. 나는 거의 모든 일을해야한다. 알아낼 수없는 부분은 상단 및 하단 하위 영점을 동일한 너비로 만드는 방법입니다. 즉 4x2 격자 + 색상 막대는 2x1 격자 + 색상 막대와 동일한 너비를 가져야합니다. 왼쪽 아래의 이미지가 다른 플롯과 같은 모양이 아니라는 것은 신중한 것입니다. 결과 여기하기 matplotlib 파이썬과하기 matplotlib를 사용

import matplotlib.pyplot as plt 
from mpl_toolkits.axes_grid1 import AxesGrid, ImageGrid 
from numpy.random import rand 

fig = plt.figure(1) 

grid1 = ImageGrid(fig, 211, 
       nrows_ncols = (2, 4), 
       axes_pad = 0.07, 
       share_all=True, 
       label_mode = "L", 
       cbar_location = "right", 
       cbar_mode="single", 
       cbar_size="7%", 
       cbar_pad="7%", 
       aspect = True 
       ) 

for n in range(8): 
    im = grid1[n].imshow(rand(10,10),interpolation="nearest") 

grid1.axes_all 

cb1 = grid1.cbar_axes[0].colorbar(im) 
cb1.set_label_text('subfig 1') 

grid2 = ImageGrid(fig, 212, 
       nrows_ncols = (1, 2), 
       axes_pad = 0.1, 
       label_mode = "L", 
       share_all = False, 
       cbar_location="right", 
       cbar_mode="single", 
       cbar_size="7%", 
       cbar_pad="7%", 
       aspect = True 
       ) 

im = grid2[0].imshow(rand(10,15),interpolation="nearest") 
im = grid2[1].imshow(rand(10,10),interpolation="nearest") 

cb2 = grid2.cbar_axes[0].colorbar(im) 
cb2.set_label_text('subfig 2') 

plt.figtext(0.05,0.85,'(a)',size=20) 
plt.figtext(0.05,0.45,'(b)',size=20) 

plt.show() 

것 : 여기

내가 가진 코드의

result

실제 플롯 이미지, 그래서 내가 하나 하나에 대한 올바른 가로 세로 비율을 유지하는 것이 중요합니다 .

나는 누락 된 단계는 (안 하위 줄거리의) 각 부가 적 줄거리의 축에 접근하는 것입니다 생각,하지만 난 어떻게 그렇게 아무 생각이 없습니다.

나는 문서를 읽고 matplotlib.org에 examples 바라 보았다. grid[n] 개별 크기를 조정하는 방법을 보여주는 예제가 있지만 grid 크기를 조정하는 방법을 보여주는 예제를 찾을 수 없습니다. 누구든지 어떤 포인터가 있습니까? 도형의 크기를 지정 나를 위해

답변

0

는 도움 :

plt.figtext(0.0,0.85,'(a)',size=20) 
plt.figtext(0.0,0.45,'(b)',size=20) 

결과 :

Seems like it maintained the aspect ratio

+0

그것은 흥미로운

fig = plt.figure(1, (6., 6.)) 

나는 또한 figtext 위치를 변경했다. 그림 크기와 플롯 크기 사이에는 약간의 차이가 있습니다. 당신이 제안하는대로 그림 크기를 추가하면 완벽하게 작동합니다. 그러나 더 큰 크기 (예 : (20,20))를 사용하면 동일한 문제가 발생합니다. 당신은 주어진 그림 크기가 어딘가 약간의 재 계산을 트리거 추측 플롯 크기보다 작은 있는지 확인해야 할 것 같습니다. 답해 주셔서 고맙습니다. 지금 제가 기대했던 아름다운 인물을 만들어 낼 수 있습니다 :-) –