0
일부 데이터에서 플롯을 만들려고하는데 데이터에 2 개의 컬럼이 있어도 인덱스 범위를 벗어납니다. 여기 코드는 다음과 같습니다파이썬으로 CSV 데이터를 플로팅 :리스트 인덱스가 범위를 벗어났습니다.
여기import csv
from matplotlib import pyplot as plt
def getColumn(filename, column):
results = csv.reader(open(filename), delimiter='\t')
return [result[column] for result in results]
wavelength = getColumn('Bb69.dat.fix',0)
flux = getColumn('Bb69.dat.fix',1)
plt.figure('Bb69')
plt.xlabel('Wavelength (angstrom)')
plt.ylabel('flux (erg/cm^2/s/angstrom)')
plt.plot(wavelength,flux)
plt.show()
오류
Traceback (most recent call last):
File "SP12.py", line 14, in <module>
flux = getColumn('Bb69.dat.fix',1)
File "SP12.py", line 11, in getColumn
return [result[column] for result in results]
IndexError: list index out of range
그러나 파일에 빈 줄이 포함되어 있지 않으며 추가 할 때 x와 y의 치수가 같아야합니다 (?) – Steven
@StevendeRond - 파일에 다음과 같은 행이 있습니다. 단일 요소. 업데이트 된 답변을 확인하십시오. – eumiro
이것을 사용하면 파장과 플럭스가 모두 비어 있습니다. 파일에는 두 번째 열에 0이 있고 나머지는 매우 작은 숫자이므로 maby가 문제입니까? – Steven