我搜索了很多帖子,但它们似乎没有帮助。
在文件夹 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 会困扰它。这让我很困惑!
任何帮助将不胜感激!提前致谢!
请您参考如下方法:
@suhail 的回答会奏效。本质上,您访问的是模块 matplotlib.figure。此外,我认为您正在尝试访问 pyplot 函数(作为 plt 导入的 gen)并且它足以导入该模块以访问大多数标准绘图 api。
所以在您的plotcluster.py中将第一行更改为
import matplotlib.pyplot as plt
从那以后应该会一帆风顺,你可以使用像
这样的东西plt.plot(), plt.show() 等。
