Python错误,'bool'类型不可调用

时间:2012-05-07 09:02:22

标签: python plot matplotlib boolean

我在Python中有很长的代码,所以我不能在这里写出来。无论如何,问题是我正在使用semilogx命令在代码中绘制一个函数,一切正常。但是,如果我切换到plot命令,我收到此错误:

TypeError:'bool'对象不可调用

您认为可能会导致什么问题?

似乎我在代码中使用plot命令的任何地方都会得到相同的错误。 我尝试绘制我在代码中使用的第一个变量:

 f=loadtxt(folder_out+"stars/stars"+str(output)+".txt",skiprows=2)
 ids=f[:,0]
 mass_star=f[:,1] # mass in Msun
 x=f[:,2]
 y=f[:,3]
 z=f[:,4]
 age=f[:,5] # age in Myr

 plot(x,y,'.')

最后一行给了我错误。我确定我从文件中读取了变量,它们具有相同的维度。

1 个答案:

答案 0 :(得分:8)

您的错误表明plot不是您认为的函数,而是bool(即。TrueFalse,是布尔值的结果表达)。这可能有以下几个原因:

  • 您明确地将bool分配给名为plot的变量(可能在循环中 - 请记住Python中的循环和if语句不会创建新范围)
  • 你有一堆from whatever import *语句,其中一个语句导入一个名为plot的名称,这个名称来自pylab(它甚至可能是from whatever import plot没有注意到)

您可以尝试通过对plot的简单文本搜索来缩小范围,以查看您是否明确地执行此操作。您还可以删除导入并删除脚本,直到它按预期工作,并尝试识别有问题的行。