Как сохранить график networkx для визуализации в Gephi?

Я работаю над алгоритмом PageRank с использованием модуля Networkx в Python. У меня есть словарь списков, где ключом словаря является заголовок страницы, а его значением являются все заголовки, на которые ссылается эта страница.

Итак, чтобы создать визуализацию, я сначала сделал это:

G = nx.DiGraph()
G = nx.from_dict_of_lists(ref_dict)

где ref_dict это словарь, упомянутый выше.

После создания графика я использую Networkx write_edgelist Функция для хранения графика в формате CSV.

nx.write_edgelist(subG,'PageRanks2.csv')

В этом и заключается моя проблема. CSV-файл хранит ребра как:

узел1 узел2 {} узел1 узел3 {}

Когда я использую этот файл непосредственно в Gephi, он обрабатывает {} как узел и соответственно отображает визуализацию. Итак, какой должен быть лучший формат для хранения графа networkx для его визуализации?

2 ответа

Используйте функцию write_gexf, например: nx.write_gexf(G, "test.gexf"), и откройте файл с помощью Gephi, тогда вы увидите его в getphi.

Ссылка https://networkx.github.io/documentation/networkx-1.10/reference/generated/networkx.readwrite.gexf.write_gexf.html

Вы можете указать data аргумент, чтобы сказать networkx не добавлять {}:

nx.write_edgelist(subG,'PageRanks2.csv', data=False)

Существуют и другие форматы, которые поддерживают и networkx, и gephy (например, GraphML), и вы можете выполнять гораздо более сложные задачи визуализации данных, если ваши данные имеют атрибуты, связанные с ними.

Другие вопросы по тегам