[英]Draw a graph with edges using Networkx
我一直被一件很简单的事情困扰。 我正在尝试绘制并显示具有 2 个节点和 1 个边的图形。 但我收到此错误:
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)
然后画出来并展示出来。 但我就是无法让它工作。
这是一个有效的解决方案。
import matplotlib.pyplot as plt
import networkx as nx
# Create a basic Graph
g=nx.Graph()
g.add_node(1)
g.add_node(2)
g.add_edge(1,2)
# Output the result
nx.draw(g)
plt.show()
import networkx as nx
g=nx.Graph()
g.add_node(1)
g.add_node(2)
g.add_edge(1,2)
nx.draw(g)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.