Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在一个matplotlib绘图中读取两个数据集_Python_Numpy_Matplotlib - Fatal编程技术网

Python 在一个matplotlib绘图中读取两个数据集

Python 在一个matplotlib绘图中读取两个数据集,python,numpy,matplotlib,Python,Numpy,Matplotlib,我尝试在一个图中绘制两个数据集,包括errorbars。对于一个数据集来说,它工作得非常好。但在这个“解决方案”中: 我只知道这个错误 exec(compile(open(filename, 'rb').read(), filename, 'exec'), namespace) File "E:/script.py", line 39, in <module> x2.append(float(k[0])) IndexError: list index out

我尝试在一个图中绘制两个数据集,包括errorbars。对于一个数据集来说,它工作得非常好。但在这个“解决方案”中:

我只知道这个错误

exec(compile(open(filename, 'rb').read(), filename, 'exec'), namespace)
File "E:/script.py", line 39, in <module>
        x2.append(float(k[0]))
    IndexError: list index out of range
exec(编译(打开(文件名'rb').read(),文件名'exec'),命名空间)
文件“E:/script.py”,第39行,在
x2.追加(浮点(k[0]))
索引器:列表索引超出范围

我没有看到错误,需要一些帮助。有人知道这样做有什么不对吗?我希望这不太容易…

第2行的
中可能有一个空行:
,因为它为
k[0]
提供了
索引器:列表索引超出范围,这意味着在这种情况下,k不存在索引
0
。 确保检查分割结果是否为空

例如:

for line2 in lines2:
    k = line2.split()
    if len(k)==0:
       #do something
    else:
       x2.append(float(k[0]))
       y2.append(float(k[1]))
       xerr2.append(float(k[2]))
       yerr2.append(float(k[3]))

对于第一个for循环也应该这样做。

您的问题是在某个点上
k=line2.split()
没有任何元素。例如,如果第二个文件有一个空行(可能在末尾),那么
split
函数将为您提供一个空列表

for line2 in lines2:
    k = line2.split()
    if len(k)==0:
       #do something
    else:
       x2.append(float(k[0]))
       y2.append(float(k[1]))
       xerr2.append(float(k[2]))
       yerr2.append(float(k[3]))