我如何绘制称为流图的新类。我收到了很多错误:
Traceback (most recent call last):
File "Graphs.py", line 26, in <module>
nx.draw(F1)
File "/home/thinkpad/anaconda3/lib/python3.4/site-packages/networkx/drawing/nx_pylab.py", line 131, in draw
draw_networkx(G, pos=pos, ax=ax, **kwds)
File "/home/thinkpad/anaconda3/lib/python3.4/site-packages/networkx/drawing/nx_pylab.py", line 262, in draw_networkx
pos = nx.drawing.spring_layout(G) # default to spring layout
File "/home/thinkpad/anaconda3/lib/python3.4/site-packages/networkx/drawing/layout.py", line 232, in fruchterman_reingold_layout
if len(G)==0:
TypeError: object of type 'FlowGraph' has no len()
代码:
import networkx as nx
import matplotlib.pyplot as plt
class FlowGraph:
G=nx.DiGraph()
I=[]
O=[]
F1=FlowGraph()
# Add nodes
F1.G.add_node(1)
F1.G.add_node(2)
F1.G.add_node(3)
# Add edges
F1.G.add_edge(1,2)
#F1.G.add_edges_from[(1,2),(2,3)]
# Add interface
F1.I=[1]
F1.O=[3]
nx.draw(F1)
plt.show()
答案 0 :(得分:1)
回溯告诉您函数nx.draw
失败。如果你查看nx.draw
的文档字符串,你会发现它希望 networkx graph 作为第一个参数。相反,您已经为它提供了FlowGraph
实例。函数nx.draw
根本不知道如何处理FlowGraph
。
也许您希望将F1.G
传递给nx.draw
?请注意,F1.G
是 networkx图表。