我一直很困扰一些非常简单的事情。我试图绘制并显示2个节点和1个边的图。但是,我得到这个错误:使用Networkx绘制带有边缘的图形
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/networkx/drawing/nx_pylab.py", line 133, in draw
draw_networkx(G,pos=pos,ax=ax,**kwds)
File "/usr/local/lib/python2.7/site-packages/networkx/drawing/nx_pylab.py", line 267, in draw_networkx
edge_collection=draw_networkx_edges(G, pos, **kwds)
File "/usr/local/lib/python2.7/site-packages/networkx/drawing/nx_pylab.py", line 546, in draw_networkx_edges
ax.add_collection(edge_collection)
File "/usr/local/lib/python2.7/site-packages/matplotlib/axes.py", line 1445, in add_collection
self.update_datalim(collection.get_datalim(self.transData))
File "/usr/local/lib/python2.7/site-packages/matplotlib/collections.py", line 167, in get_datalim
offsets.shape = (-1, 2) # Make it Nx2
AttributeError: incompatible shape for a non-contiguous array
这很简单,我只加2个节点与
add_node(1)
add_node(2)
add_edge(1,2)
,然后绘制并显示它。但我不能让它工作。
我有与Python 3.3相同的问题,来自github的NumPy(Python 3.3/PEP 393兼容性需要)和matplotlib 1.2.0rc2。当使用python 2.6.6,numpy 1.6.2和matplotlib 1.1.1时,它工作正常。 – Olson
@olson是对的,这是一个NumPy错误,希望很快就会解决https://github.com/numpy/numpy/issues/2700 – Aric
嗯,我会尝试使用旧版本。但后来我需要创建一个virtualenv ...嗯...将尝试...谢谢无论如何:) – WYS