2

我搜索了很多帖子,但它们似乎没有帮助。

在文件夹 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 会打扰它。这让我很困惑!

任何帮助将不胜感激 !!提前致谢!

4

2 回答 2

7

@suhail 的答案将起作用。本质上,您访问的是模块 matplotlib.figure。此外,我认为您正在尝试访问 pyplot 函数(作为 plt 导入的 gen),并且足以导入该模块以访问大多数标准绘图 api。

因此,在您plotcluster.py将第一行更改为

import matplotlib.pyplot as plt

从那里开始应该一帆风顺,你可以使用类似的东西

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

于 2013-06-28T04:36:23.013 回答
1

尝试

plt.figure.Figure()

不是

plt.figure
于 2013-06-28T03:42:03.157 回答