Рассмотрим список кортежей.Этот список будет преобразован в словарь, в котором главными ключами являются узлы и ребра.
Пример:
ls = [('a', 1), ('b', 2), ('c', 3), ('a', 2), ('b', 3)]
Для достижения этого результата я импортировал библиотеку networkx
.
import networkx as nx
G = nx.Graph()
G.add_edges_from(ls)
Однако, когда я преобразовал G graph в node_link_data
: nx.readwrite.json_graph.node_link_data(G)
, я понял, что некоторые элементы (источник и цели) были инвертированы, например, второй элемент в спискекортежи были классифицированы как источник вместо цель
# original tuple
('b', 2)
# node_link_data
links: [
{'source': 2, 'target': 'b'}
...
]
Итак, я создал себя диктатом {'nodes': [], 'links': []}
.
Я хочу использоватьэто диктует создание графа networkx.Меня интересуют узлы мер, использующие алгоритмы этой библиотеки.
Я пытался использовать:
G = nx.Graph(myDict)
Это возвращает ошибку: TypeError: Input is not known type
Как я могупостроить этот график, используя мой dict, который уже содержит узлы и ребра?или, возможно, я могу использовать другие библиотеки для измерения степеней, кластеризации и т. д., используя вместо этого другие библиотеки.Заранее спасибо