2014-02-24 3 views
0

내가 부가 적 줄거리의 격자를 만들기 위해이 예제를 따라하기 위해 노력하고있어 생성 하나의 캔버스에 있지 않습니다 (이미지가 올바른 캔버스입니다). 왜 그 이유를 이해할 수 있습니까?하기 matplotlib의 부가 적 줄거리 그리드는 두 개의 서로 다른 캔버스 하나가 아닌

alphas = [45, 75] 
numalp = len(alphas) 

angles = np.linspace(pi/12, pi/2, num=10) 
numobs = len(angles) 

axisNum = 0 

for a in alphas: 

      #[some operations] 

      for obsangl in angles: 

         #[some operations] 

         axisNum += 1 
         axii = plt.subplot(numalp, numobs, axisNum) 
         plt.errorbar(g, Pgamma, yerr = ePgamma, color = 'green', fmt = '.')     
         axii1 = axii.twinx()     
         plt.plot(g, lightcurva, 'b-') 
         axii.set_yticklabels([]) 
         axii.set_xticklabels([])     
         axii1.set_yticklabels([]) 
         axii1.set_xticklabels([]) 

답변

0

당신이 for a in alphas 루프에서 plt.figure()이 있나요 :

이 내 코드의 추출입니까? (귀하의 #[some operations] 중) 그렇다면 숫자를 지정하지 않으면 전화를 할 때마다 새로운 수치를 얻습니다. 예를 들어, 다음은 한 행에 두 인물, 각각을 생성합니다 :

fig=plt.figure() 
for a in alphas: 
    for obsang1 in angles: 
     # etc. 

또는를 :

for a in alphas: 
    fig=plt.figure() 
    for obsangl in angles: 
     # etc. 

을이 경우에, 당신은 모든 루프 전에 그림을 정의 할 수 있습니다 그것을 수정하기 그림 번호를 지정할 수 있습니다.

for a in alphas: 
    fig=plt.figure(1) # Specifies Figure 1 
    for obsangl in angles: 
     # etc. 
관련 문제