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