2013-09-25 4 views
2

많은 그림을 하나의 그림으로 플롯하려합니다. 나는 9 개의 boxplots를 보여 주는데 성공하고 boxplots을 더 얻고 싶다. 나는 다음 코드를 사용했다. 는 CSV 파일에서 데이터를 얻을 수 있습니다 :boxplot : 인덱스가 범위를 벗어남 오류

a = getData("/home/abuabderrahmen/caidama.csv") 
a1 = a.ix[0:,['Conductance']] 

동일한 프로세스 배열의 임의의 수를 얻을 수 있습니다. 나는 다음과 같이 변경 확인

e1 = concatenate((a1, b1, c1), 0) 
data1 = [e1, e1, e1[::3,0]] 

마지막으로 내가 12 개 상자 그림을 얻으려면

bp = boxplot(data1, positions = [1.05, 1.35, 1.65], widths = 0.15) 

사용하여 상자를 그릴 : 그럼 난 사용하여 내 프레임 개체를 만들

e1 = concatenate((a1, b1, c1, d1), 0) 
data1 = [e1, e1, e1[::4,0]] 
bp = boxplot(data1, positions = [1.05, 1.35, 1.65, 1.95], widths = 0.15) 

을하고 난을 얻을 목록 색인 범위를 벗어난 오류. 이 접근 방식에서 잘못된 점은 무엇입니까?

+1

오류 메시지를 표시하십시오. – clstaudt

+0

'.ix' pandas 0.20에서는 더 이상 사용되지 않습니다. –

답변

0

길이가 positions 배열과 같지 않은 배열을 플롯하려고하면 IndexErrorboxplot 인 유일한 경우가 나타납니다. 예 :

>>> plt.boxplot([1,2,3], positions=[1.05, 1.35, 1.65, 1.95], widths = 0.15) 

Traceback (most recent call last): 
    File "<pyshell#66>", line 1, in <module> 
    plt.boxplot([1,2,3], positions=[1.05, 1.35, 1.65, 1.95], widths = 0.15) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib /pyplot.py", line 2442, in boxplot 
    usermedians=usermedians, conf_intervals=conf_intervals) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axes.py", line 5815, in boxplot 
    d = np.ravel(x[i]) 
IndexError: list index out of range 

고객님의 e1[::4,0] 길이가 충분하지 않다고 의심됩니다.

관련 문제