Я заметил, что постоянный вопрос звучит так: «Что такое хорошая библиотека сетевых графиков для языка X». Я играл с несколькими библиотеками и могу поделиться с вами своим опытом.
Python :
NetworkX - это надежная библиотека, которая имеет встроенную визуализацию, но также имеет интерфейс для Graphviz с использованием pyGraphviz . (pyGraphviz и NetworkX написаны одним и тем же автором). NetworkX с открытым исходным кодом и очень прост в использовании.
Perl :
Circos разработан для визуализации геномов и других очень сложных наборов данных. Он всегда будет использовать циклический макет, но часто он является наиболее подходящим макетом, если ваша сеть действительно большая и ее «модульность» низкая. Circos с открытым исходным кодом.
.
1019 * Net :
NodeXL разработан Microsoft Research и является надстройкой для Excel и библиотекой .Net 3.5. Он довольно открытый (для стандартов Microsoft) и использует алгоритм визуализации Фрухтермана-Рейнгольда.
Java :
JUNG2 недавно был выпущен и также является надежной библиотекой. Имеет расширенную визуализацию и поддержку ключевых метрик. JUNG2 с открытым исходным кодом.
UbiGraph :
UbiGraph имеет интерфейсы для разных языков, включая Python (а в NetworkX есть поддержка UbiGraph), Ruby, PHP, Java, C, C ++, C #, Haskell и OCaml. Он имеет очень аккуратную трехмерную визуализацию сетевых графиков с использованием сервера XML-RPC. Базовая версия бесплатна, за профессиональную версию нужно заплатить.
Standalone:
Вы всегда можете использовать готовый пакет, такой как: Graphviz (Win, Linux, OSX), Pajek (Win), UCINET (Win) или даже Visio (победа).
Я уверен, что есть еще много пакетов, но это те, которые я использовал сам. Какие еще библиотеки или пакеты доступны?