Python Pygraphviz错误:AttributeError:&x27;图';对象没有属性';编码';
我现在试图可视化我用Python创建的图形。但是,一旦应用pygraphviz,就会出现一个错误:Python Pygraphviz错误:AttributeError:&x27;图';对象没有属性';编码';,python,pygraphviz,Python,Pygraphviz,我现在试图可视化我用Python创建的图形。但是,一旦应用pygraphviz,就会出现一个错误: A=pygraphviz.AGraph(name=N.name,strict=strict,directed=directed) File "/usr/lib/pymodules/python2.7/pygraphviz/agraph.py", line 177, in __init__ self.handle=gv.agraphnew(name.encode(self.encodi
A=pygraphviz.AGraph(name=N.name,strict=strict,directed=directed)
File "/usr/lib/pymodules/python2.7/pygraphviz/agraph.py", line 177, in __init__
self.handle=gv.agraphnew(name.encode(self.encoding),
AttributeError: 'Graph' object has no attribute 'encode'
我的错在哪里
以下是代码的相应部分:
import networkx as nx
import itertools
from itertools import combinations
from networkx import *
import pygraphviz as pgv
def blocks(n):
nodes = com[n]
edges = combinations(nodes, 2)
g = nx.Graph()
g.add_nodes_from(nodes)
g.add_edges_from(edges)
return g
s=blocks(0)
A=to_agraph(s)
A.layout()
A.draw("network.ps")
然而,在测试时,我检查了是否可以使用pygraphviz绘制任何其他图形。他们可以。只需键入以下内容:
import networkx as nx
from networkx import *
import pygraphviz as pgv
G=nx.complete_graph(5)
A=to_agraph(s)
A.layout()
A.draw("network.ps")
我得到了一张完整的图表。
为了得到这份工作,我能做些什么?提前非常感谢您 可能不相关,但什么是
com
的定义?我根本无法复制这一点;该错误意味着s.name
被设置为另一个图形,但您的代码创建了一个新的nx.graph()
对象,因此它是。name
默认为空字符串。@MartijnPieters,这只是代码的一部分,因为它有点太长,为了执行它,我需要打开其他文件。。。com被定义为一个字符串列表,我需要从中获得一个(完整的)图,因此com=['fmre','vrweh','frwz','cnreowg','vngwri','vnfaweo',…]。禁止使用带有字符串n的nx.complete_图(n),因此我需要使用组合数学…这里的问题是.name
已分配到某个地方,而您的代码没有这样做;设置为什么并不重要。@Martijn Pieters:非常感谢!