Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 2.7 在方程式中用列表绘制直线_Python 2.7_Matplotlib - Fatal编程技术网

Python 2.7 在方程式中用列表绘制直线

Python 2.7 在方程式中用列表绘制直线,python-2.7,matplotlib,Python 2.7,Matplotlib,我得到一个错误类型错误:“float”对象不可调用 如何用x1绘制这条线?问题是您缺少一个运算符: import matplotlib.pyplot as plt from math import * f2 = open('C:\\Users\\Audrey\\Documents\\Regress1Par data.txt', 'r') lines = f2.readlines() f2.close() x1 = [] y1 = [] z1 = [] for line in lines:

我得到一个错误类型错误:“float”对象不可调用
如何用x1绘制这条线?

问题是您缺少一个运算符:

import matplotlib.pyplot as plt 
from math import *
f2 = open('C:\\Users\\Audrey\\Documents\\Regress1Par data.txt', 'r')
lines = f2.readlines()
f2.close()

x1 = []
y1 = []
z1 = []

for line in lines:
    p = line.split()
    x1.append(float(p[0]))
    y1.append(float(p[1]))
    z1.append(float(p[2]))

plt.scatter(x1, y1)
yerr=z1
plt.errorbar(x1,y1,yerr=yerr, fmt='o')
plt.plot(2.53+9.33(x) for x in x1)
plt.show()
你需要使用

plt.plot(2.53+9.33(x) for x in x1)
因为9.33不是可调用函数:

plt.plot(2.53+9.33*(x) for x in x1)

这可能修复了最初的问题,但现在它说float,它说float参数必须是字符串或数字,您需要包含完整的回溯。我不知道新的错误是指什么,因为您已经更改了代码。我的猜测是,您的数据中有一个无法转换为浮点的非数值。可能与您的错误无关,但numpy.genfromtxt可以更简单地读取该文件。它还可以捕获数据文件中任何可能的非数字项
 >>> 2.59+9.33(x)
Traceback (most recent call last):
  File "<pyshell#24>", line 1, in <module>
    2.59+9.33(x)
TypeError: 'float' object is not callable