我已经搜索过类似的问题但我无法找到解决方案。在前面我不知道Python。我刚刚得到了一个理论上应该工作的脚本,并用一些点数据绘制了一个图表,但是我得到了这个错误:
Traceback (most recent call last):
File "C:\***\create_plot.py", line 38, in <module>
formatter.create_plot()
File "C:\***\CPI_Plotter.py", line 54, in create_plot
plot(line[:, 0], line[:, 1], styles[name[0]%7], label=name[1])
IndexError: too many indices
适当的代码在这里:
def create_plot(self):
"""
Plot the different data sets
"""
styles = ['o', 's', '^', 'v', 'D', '1', '+']
for name, line in zip(enumerate(self.labels), self.plot_data):
if name[1][-4:] == '.csv':
plot(line[:, 0], line[:, 1], label='XNS Simulation')
styles.insert(name[0],'')
else:
plot(line[:, 0], line[:, 1], styles[name[0]%7], label=name[1])
感谢您的帮助!
答案 0 :(得分:0)
你不能在python中使用逗号进行切片。这个字符串应该做什么?
plot(line[:, 0], line[:, 1], label='XNS Simulation')
答案 1 :(得分:0)
我解决了这个问题。就像已经说过的那样,我认为这是Windows文件系统的问题或类似的问题。在Mac OS上它运行良好。 要在Windows机器上运行,我更改了以下命令
infile = open(filepath, "r")
到
infile = open(filepath, "rb")
这样,输入文件/文件以二进制模式打开,脚本正常运行。