Распечатать график в NetworkX - PullRequest
0 голосов
/ 06 февраля 2020

Есть ли способ красиво распечатать график в NetworkX? Например:

>>> 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')

Затем я хотел бы видеть этот график как json -подобный объект, например:

{
    'Alan': {
        'Bob': {},
        'Charles': {
            'Xavier': {}
        },
        'Xavier': {},
    },
    'Joan': {
        'Xavier': {}
    }
}

Это не обязательно должно быть похоже на выше, но должно дать хорошее представление данных графика на высоком уровне (при условии, что он относительно мал).

1 Ответ

2 голосов
/ 06 февраля 2020

В версии 2.3 для newtorkx есть метод 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': {}}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...