2013-05-13 58 views
3

我試圖做一個情節:蟒「‘模塊’對象不是可調用的」

from matplotlib import * 
import sys 
from pylab import * 

f = figure (figsize =(7,7)) 

但是,當我試圖執行它,我得到這個錯誤:

File "mratio.py", line 24, in <module> 
    f = figure(figsize=(7,7)) 
TypeError: 'module' object is not callable 

我有之前運行一個類似的腳本,我想我已經導入了所有相關的模塊。

+0

你有陰影'figure'別的東西? – tacaswell 2013-05-13 16:50:03

+0

運行'import pylab;打印pylab .__文件___並給我們結果 – 2013-05-13 16:52:47

+0

/home/apps/fas/Langs/Python/2.7.2/lib/python2.7/site-packages/matplotlib/pylab.pyc – mcglashan 2013-05-13 17:36:10

回答

5

figurematplotlib提供的模塊。

您可以在Matplotlib documentation

閱讀更多關於它,我想你想要的是matplotlib.figure.Figure(類,而不是模塊)

這是documented here

from matplotlib import * 
import sys 
from pylab import * 

f = figure.Figure(figsize =(7,7)) 

from matplotlib import figure 
f = figure.Figure(figsize =(7,7)) 

from matplotlib.figure import Figure 
f = Figure(figsize =(7,7)) 

或獲得pylab,而不與matplotlib衝突的工作:

from matplotlib import * 
import sys 
import pylab as pl 

f = pl.figure(figsize =(7,7)) 
+2

但是'figure'應該是'pylab'中的一個函數,所以這應該仍然有效。 – 2013-05-13 16:54:03

+0

@WinstonEwert我已經添加了另一個解決方案來允許'pylab'導入圖形,而不會與'matplotlib'衝突 – Ewan 2013-05-13 16:57:59

+1

但是這並不能解釋爲什麼'pylab'中的'figure'不能替代'matplotlib'的圖形。它應該有。 – 2013-05-13 16:59:20

2

你需要做的:

matplotlib.figure.Figure 

這裏,

matplotlib.figure is a package (module), and `Figure` is the method 

參考here

所以,你將不得不這樣稱呼它:

f = figure.Figure(figsize=(7,7)) 
相關問題