使用matplotlib绘图时“无效切片”

时间:2013-07-09 15:04:02

标签: python matplotlib slice

Python 2.7.5和OSX 10.8这里

我正在尝试绘制一些从文件中获取的数据。 我正在尝试编写一个函数,用户可以从他想要的点进行绘图,并且已经来到这部分代码:

firstPoint = raw_input("1st point to be displayed is n° : ")

tbdata3 = hdulist[3].data
print(hdulist[3].header['TTYPE24'])
print tbdata3.field('DDL_FT_OPL')
print(hdulist[3].header['TTYPE23'])
print tbdata3.field('DDL_SC_OPL')

dataFT=tbdata3.field('DDL_FT_OPL')
plt.subplot(211)
plot(dataFT[firstPoint:400,:])
dataSC=tbdata3.field('DDL_SC_OPL')
plt.subplot(212)
plot(dataSC[firstPoint:400,:])
show()

我收到此错误:

Traceback (most recent call last):
File "/Users/geoffroysarrazin/Desktop/stage_observatoire/testEkki.py", line 52, in essai
plot(dataFT[firstPoint:400,:])
IndexError: invalid slice

这对我来说似乎很奇怪,因为我得到了

firstPoint=10

就在之前,我有一个常数值,而不是来自用户的这个输入,它等于200(或者任何<400)并且它有效......

1 个答案:

答案 0 :(得分:1)

简单 - 你没有转换你的输入!

firstPoint = int(raw_input("1st point to be displayed is n° : "))

如果您没有提供号码,可以添加一些异常处理来重新提示用户,如果您愿意的话。