是否可以在NetworkX中漂亮地打印图形?例如:
new_guests = []
for guest in guests:
if 'name' not in guest:
# append new information
new_info = {}
new_info['name'] = "your_new_name"
new_info['package'] = {} # new info
else:
# update with new information
guest['package'].update({})
然后我想将此图看成是一个类似于json的对象,例如:
>>> import networkx as nx
>>> G = nx.Graph()
>>> G.add_edge('Alan', 'Bob')
>>> G.add_edge('Alan', 'Charles')
>>> G.add_edge('Alan', 'Xavier')
>>> G.add_edge('Charles', 'Xavier')
>>> G.add_edge('Joan', 'Xavier')
它不一定与上面的完全一样,但是应该提供图形的高级数据视图(前提是它相对较小)。
答案 0 :(得分:2)
在newtorkx 2.3版中,有一种方法nx.to_dict_of_dicts
:
nx.to_dict_of_dicts(G)
输出:
{'Alan': {'Bob': {}, 'Charles': {}, 'Xavier': {}},
'Bob': {'Alan': {}},
'Charles': {'Alan': {}, 'Xavier': {}},
'Xavier': {'Alan': {}, 'Charles': {}, 'Joan': {}},
'Joan': {'Xavier': {}}}