2015-11-08 33 views
0

如何绘制称为流图的新类。我得到了很多的错误:创建图表类

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

我该如何更改代码才能获得我的图形的优秀素描:) – Mikul

+0

您可以编辑问题来说出想要绘制什么样的图形。这非常含糊。 – Whitecat

回答

1

回溯告诉你,功能nx.draw失败。如果您查看nx.draw的文档字符串,您会看到它预计networkx图作为第一个参数。相反,您提供了一个FlowGraph实例。功能nx.draw根本不知道如何处理FlowGraph

也许你想传递F1.Gnx.draw?请注意0​​是网络x图