2013-06-28 221 views
1

我搜索了很多帖子,但它們似乎沒有幫助。Python模塊無法調用

在文件夾dir1 /我有main.py和plotcluster.py。在plotcluster.py我:

import matplotlib as plt 
import itertools as it 
.... 
def plotc(): 
    colors = it.cycle('ybmgk') 
    .... 
    plt.figure() 
    .... 

在main.py,我使用plotcluster.py:

import plotcluster as plc 
.... 
plc.plotc() 

但是,這給了我一個錯誤說模塊對象是不可調用的。

 20  linestyles = it.cycle('-:_') 
    21 
---> 22  plt.figure() 
    23  # plot the most frequent ones first 
    24  for iter_count, (i, _) in enumerate(Counter(centerid).most_common()): 

TypeError: 'module' object is not callable 

它並沒有投訴itertools模塊,但plt的一個煩惱它。這讓我很困惑!

任何幫助將不勝感激!提前致謝!

回答

1

嘗試

plt.figure.Figure() 

plt.figure 
+0

不敢相信我花了2小時這個愚蠢的錯誤!我在另一個代碼中正確地使用了....非常感謝您的指點! –

5

@suhail的答案會工作。基本上你正在訪問模塊的matplotlib.figure。此外,我認爲你正試圖訪問pyplot函數(導入爲plt的gen),並且它足以導入該模塊以訪問大部分標準繪圖API。

所以在你plotcluster.py第一行更改爲

import matplotlib.pyplot as plt 

它應該是一帆風順從那裏,你可以使用這樣的東西

plt.plot()plt.show()等。

+0

感謝您的額外評論,您是對的,我試圖使用matplotlib.pyplot(),完全錯過了它。謝謝 –