2012-05-07 46 views
0

我在Python中有很長的代碼,所以我不能在這裏寫所有的代碼。無論如何,問題是我正在使用semilogx命令在代碼中繪製函數,並且一切正常。但是,如果我切換到plot命令我得到這個錯誤:Python錯誤,'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,'.') 

最後一行給我的錯誤。我確定我從文件中讀取了變量,它們具有相同的維度。

+3

你能至少粘貼導致錯誤的代碼行嗎? – MAK

+9

請回溯回溯。 –

+1

你碰巧在某處使用名爲'str'或'round'的布爾變量嗎? –

回答

8

你的錯誤表示plot不是一個函數,因爲你認爲它是,但bool(即TrueFalse,布爾表達式的結果)。這可能是有幾個原因:

  • 您明確分配bool到一個名爲plot變量(也許是在一個循環 - 記住,循環和在Python if語句不創建一個新的範圍)
  • 你有一堆from whatever import *聲明,其中一個進口的名稱plot這是重挫從pylab的一個(甚至可能是你有沒有注意到一個from whatever import plot

你可以嘗試將它縮小一個簡單的文本搜索plot,看看你是否明確地做。您也可以刪除導入並剝離腳本,直到其按預期工作,並嘗試識別有問題的行。

+0

謝謝,這就是我正在尋找的答案。 – Brian

+1

@Matteo - 這是它嗎? :) – detly

+1

我有一個名爲情節的變量。對我感到羞恥。 – Brian

相關問題