我正在尝试使用networkx
创建图,但是由于某种原因,我没有得到它。
“ graph” json文件如下所示:
graph = {'A': ['B', 'C', 'E'],
'B': ['A','D', 'E'],
'C': ['A', 'F', 'G'],
'D': ['B'],
'E': ['A', 'B','D'],
'F': ['C'],
'G': []}
我正在使用此代码
G = nx.read_adjlist("graph.json", create_using=nx.DiGraph())
nx.draw_networkx(G)
输出:
根据邻接表'graph',哪个不正确。
干杯!
答案 0 :(得分:2)
使用read_adjlist
命令时,它需要输入文本文件。
我想,如果您以原始文本查看文件,则它看起来像:
“ A”,[“ B”,“ C”,“ E”],“ B”:[“ A”,“ D”,“ E”],“ C”:[“ A”,“ F “,” G“],” D“:[” B“],” E“:[” A“,” B“,” D“],” F“:[” C“],” G“ >
它将其解释为一串用逗号分隔的变量。因此,第一件事是字符串"A"
(字符串中包含双引号)。
这是您的第一个节点。之后的每个字符串都将成为此第一个节点的邻居。前四个是["B"
,"C"
,"E"]
和"B"
。
那么您需要做什么?查看networkx commands for json format并找到适合您的网络存储方式的版本(或修改网络存储以具有以下格式之一)。