Как сохранить график 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.
Вы можете указать data
аргумент, чтобы сказать networkx не добавлять {}
:
nx.write_edgelist(subG,'PageRanks2.csv', data=False)
Существуют и другие форматы, которые поддерживают и networkx, и gephy (например, GraphML), и вы можете выполнять гораздо более сложные задачи визуализации данных, если ваши данные имеют атрибуты, связанные с ними.