Визуализировать график «Друг друга» - PullRequest
7 голосов
/ 16 сентября 2008

Я написал скрипт для экспорта друзей из твиттера в виде foaf rdf description. Сейчас я ищу инструмент для визуализации сетей друзей. Я пробовал http://foafscape.berlios.de/, но для 300+ узлов он действительно медленный и плохо работает при автоматическом форматировании.

Какие-нибудь советы для хороших инструментов визуализации графа? Это нормально, если они не поддерживают foaf напрямую, но они должны иметь возможность использовать изображения для узлов графа и иметь возможность отображать большие графы. Поддержка Linux была бы хорошей.

О, и я ищу интерактивный инструмент, с помощью которого я могу перемещать узлы вручную.

Обновление: Спасибо за ваш вклад. Я знаю, графвиз и для статических изображений это действительно здорово. Но для больших наборов данных мне нужно иметь возможность выбирать узлы и выделять всех соседей.

Ответы [ 11 ]

5 голосов
/ 16 сентября 2008

, возможно, вам поможет набор инструментов для визуализации prefuse . Он основан на Java и имеет множество примеров приложений, включая средство просмотра графиков .

4 голосов
/ 16 сентября 2008

Вы можете попробовать Graphviz . Он работает в Linux , Windows и Mac OS X и генерирует изображение (PNG, PS и т. Д.) Графика. Вам придется преобразовать ваши данные foaf в свой собственный язык, но его довольно легко выучить.

3 голосов
/ 27 сентября 2010

Ранее я рекомендовал Graphviz, но подумал, что теперь мне следует добавить еще одну рекомендацию, поскольку я использовал Gephi , более новый инструмент, чем многие из приведенных здесь. Это очень мощный интерактивный инструмент для исследования графиков, который я нашел гораздо более удобным и намного более быстрым, чем множество альтернатив здесь.

3 голосов
/ 16 сентября 2008

Как рекомендовано другими авторами, определенно Graphviz . Он принимает входной файл, назовем его foaf.dot, в следующем формате:

graph G {
    "George Formby" [shape=custom, shapefile="file:formby.png"];
    "Michael Jackson" [shape=custom, shapefile="file:jackson.png"];
    "George Formby" -- "Michael Jackson";
    "Fred Flinstone" -- "Michael Jackson";
    "Michael Jackson" -- "Steve McQueen";
}

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

Чтобы вывести свой график в файл PDF (при условии, что вы уже установили graphviz), выполните следующую команду

dot -Tpdf foaf.dot > foaf.pdf

Graphviz поддерживает несколько форматов вывода, отличных от pdf, подробности см. В документации.

Я считаю, что программа 'dot' обычно обеспечивает наилучшие выходные результаты, однако graphviz содержит всего 5 программ верстки. Из документации:

  • точка - фильтр для рисования ориентированных графов
  • neato - фильтр для рисования неориентированных графиков
  • twopi - фильтр для радиальных раскладок графиков
  • circo - фильтр для круговой разметки графиков
  • fdp - фильтр для рисования неориентированных графиков
3 голосов
/ 16 сентября 2008

Я не знаю ни одной программы, которая автоматически генерирует визуализации графиков. и позволяют интерактивно настраивать узлы, но Graphviz - действительно популярный инструмент для визуализации графиков. Он может экспортироваться в SVG, чтобы вы могли редактировать результат в своем любимом редакторе векторной графики.

2 голосов
/ 16 сентября 2008

Попробуйте использовать Google Social Graph. В одной из бесед на dConstruct08 на прошлой неделе был социальный график, показывающий связи друзей Роберта Скобла.

http://code.google.com/apis/socialgraph/
http://dconstruct.org/2008

1 голос
/ 06 сентября 2011

Для больших графиков Gephi (http://gephi.org/) очень популярен. Его можно настраивать с большим количеством вариантов макета и презентации.

1 голос
/ 25 ноября 2010

вы пробовали основанную на Python IDE NodeBox (1.0)? Вот что я использовал для генерации: http://givememydata.com/#images

Визстер выглядит круто, но я это проверю.

1 голос
/ 25 сентября 2008

проверить этот форум: http://goosebumps4all.net/34all/bb/forumdisplay.php?fid=28 для некоторых ярких примеров там есть граф друзей.

1 голос
/ 16 сентября 2008

Я знаю, что в Adobe Flex есть несколько компонентов визуализации графиков, и, конечно, это позволило бы приложению работать на Flash, что обеспечивает отличную скорость проникновения в вашу потенциальную базу пользователей. Я запустил в Google компонент Flex SpringGraph и проверил это. Существует множество графических компонентов для Flex, как платных, так и бесплатных.

Всего один SpringGraph на моей голове: http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1048510

...