2016-05-31 4 views
1

예상대로 작동하지 않는 나는 다음과 같은 코드가 있습니다하기 matplotlib의 부가 적 줄거리는

import matplotlib.pyplot as plt 
horas = [1,2,3,4] 
diccionario = {(1,1,2,1):[2,3,4,5], 
       (1,2,2,2):[2,5,1,5], 
       (1,3,2,3):[2,5,5,5], 
       (1,4,2,4):[2,6,8,5], 
       (1,5,2,5):[2,7,5,5], 
       (1,6,2,6):[2,8,2,5], 
       (1,7,2,7):[2,9,6,5], 
       (1,8,2,8):[2,4,9,5]} 
plt.figure()  
i = 1 
maximo = 0 
keys = diccionario.keys() 
for n in range(0,len(keys)-1,2): 
    gn, = plt.plot(horas,diccionario[keys[n]],'ro-') 
    gn1, = plt.plot(horas,diccionario[keys[n+1]],'g*-') 
    plt.subplot(len(keys)//2, 1,i) 
    plt.legend([gn,gn1], [keys[n],keys[n+1]]) 
    i+=1 
plt.show() 

내가 두 줄 각 4 줄거리를 기대합니다. 나는 그들을 가지고 있지만, 마지막 것은 비어있다.

아무도 설명 할 수 없습니까? 나는 성공하지 않고 여러 가지 방법을 시도했다. 당신이 GN 및 GN1을 플롯하기 전에

+0

마침내 얻었습니다. gn, plt.plot (horas, diccionario [keys [n]], 'ro-') 앞에 plt.subplot (len (keys) // 2, 1, i) – emafermon

답변

1

부가 적 줄거리()를 넣습니다. 그것은 당신의 문제를 해결할 것입니다. 그런데

for n in range(0, len(keys) - 1,2): 
    plt.subplot(len(keys)//2, 1, i) 
    gn, = plt.plot(horas, diccionario[keys[n]], 'ro-') 
    gn1, = plt.plot(horas, diccionario[keys[n+1]], 'g*-') 
    plt.legend([gn, gn1], [keys[n], keys[n+1]]) 
    i+=1 

, 나는 튜플 대신 DICT를 사용하는 것이 좋습니다. 결과의 순서가 원하는 것과 상당히 다를 수 있습니다.

관련 문제