【发布时间】:2014-08-09 18:04:42
【问题描述】:
我最近通过 Anaconda 发行版在运行 iPython 的 Windows 机器上安装了 igraph。我一直在关注 igraph 网站上的教程来尝试熟悉 igraph,因为我通常使用 NetworkX。但是,我在实际绘制图表时遇到了麻烦。
起初,我意识到这可能是因为我没有启用pylab inline,我收到了错误:NameError: name 'plot' is not defined。
但在我启用它并尝试再次绘制图表后,我得到了错误:TypeError: There is no line property "layout"
我只是想在 iPython 中绘制我的网络,但我不确定我做错了什么。
import igraph
import cairo
g = igraph.Graph([(0,1), (0,2), (2,3), (3,4), (4,2), (2,5), (5,0), (6,3), (5,6)])
cairo.__path__
Out[4]: ['C:\\Users\\Curtis\\Anaconda\\lib\\site-packages\\cairo']
layout = g.layout_kamada_kawai()
plot(g, layout = layout)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-6-df59bbbf0497> in <module>()
----> 1 plot(g, layout = layout)
NameError: name 'plot' is not defined
启用pylab内联后:
pylab inline
Populating the interactive namespace from numpy and matplotlib
plot(g, layout = layout)

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-8-df59bbbf0497> in <module>()
----> 1 plot(g, layout = layout)
C:\Users\Curtis\Anaconda\lib\site-packages\matplotlib\pyplot.pyc in plot(*args, **kwargs)
2985 ax.hold(hold)
2986 try:
-> 2987 ret = ax.plot(*args, **kwargs)
2988 draw_if_interactive()
2989 finally:
C:\Users\Curtis\Anaconda\lib\site-packages\matplotlib\axes.pyc in plot(self, *args, **kwargs)
4135 lines = []
4136
-> 4137 for line in self._get_lines(*args, **kwargs):
4138 self.add_line(line)
4139 lines.append(line)
C:\Users\Curtis\Anaconda\lib\site-packages\matplotlib\axes.pyc in _grab_next_args(self, *args, **kwargs)
315 return
316 if len(remaining) <= 3:
--> 317 for seg in self._plot_args(remaining, kwargs):
318 yield seg
319 return
C:\Users\Curtis\Anaconda\lib\site-packages\matplotlib\axes.pyc in _plot_args(self, tup, kwargs)
303 ncx, ncy = x.shape[1], y.shape[1]
304 for j in xrange(max(ncx, ncy)):
--> 305 seg = func(x[:, j % ncx], y[:, j % ncy], kw, kwargs)
306 ret.append(seg)
307 return ret
C:\Users\Curtis\Anaconda\lib\site-packages\matplotlib\axes.pyc in _makeline(self, x, y, kw, kwargs)
255 **kw
256 )
--> 257 self.set_lineprops(seg, **kwargs)
258 return seg
259
C:\Users\Curtis\Anaconda\lib\site-packages\matplotlib\axes.pyc in set_lineprops(self, line, **kwargs)
196 funcName = "set_%s" % key
197 if not hasattr(line, funcName):
--> 198 raise TypeError('There is no line property "%s"' % key)
199 func = getattr(line, funcName)
200 func(val)
TypeError: There is no line property "layout"
【问题讨论】:
标签: python plot ipython igraph anaconda