networkx - очень мощная и гибкая библиотека Python для работы с сетевыми графиками.Направленные и ненаправленные соединения могут использоваться для соединения узлов.Сети могут быть построены путем добавления узлов и затем соединяющих их ребер, или просто путем перечисления пар ребер (будут автоматически созданы неопределенные узлы).После создания узлы (и ребра) могут быть аннотированы произвольными метками.
Хотя networkx можно использовать для визуализации сети (см. Документацию), вы можете предпочесть использовать визуализацию сетиприложение, такое как Gephi (доступно из gephi.org ). networkx поддерживает широкий спектр форматов импорта и экспорта.Если вы экспортируете сеть в таком формате, как GraphML , экспортированный файл можно легко загрузить в Gephi и отобразить там.
import networkx as nx
G=nx.Graph()
G.add_edges_from([(1,2),(1,3),(1,4),(3,4)])
G
>>> <networkx.classes.graph.Graph object at 0x128a930>
G.nodes(data=True)
>>> [(1, {}), (2, {}), (3, {}), (4, {})]
G.node[1]['attribute']='value'
G.nodes(data=True)
>>> [(1, {'attribute': 'value'}), (2, {}), (3, {}), (4, {})]
nx.write_graphml(G,'so.graphml')