Визуализируйте график «Друг друга» (foaf)
-
09-06-2019 - |
Вопрос
Я написал скрипт для экспорта друзей из Твиттера в виде описания в формате rdf.Сейчас я ищу инструмент для визуализации сетей друзей.Я пытался http://foafscape.berlios.de/ но для 300+ узлов он очень медленный и плохо справляется с автоматическим форматированием.
Есть какие-нибудь подсказки по поводу хороших инструментов визуализации графиков?Это нормально, если они не поддерживают foaf напрямую, но они должны иметь возможность использовать изображения для узлов графа и отображать большие графики.Поддержка Linux была бы не лишней.
О, и я ищу интерактивный инструмент, с помощью которого я мог бы перемещать узлы вручную.
Обновлять: Спасибо за ваш вклад.Я знаю Graviz, и для статических изображений он действительно великолепен.Но для больших наборов данных мне нужна возможность выбирать узлы и выделять всех соседей.
- Предфуз выглядит отлично: http://prefuse.org/gallery/graphview/
- через префуз я нашел визстер, это именно то, что я ищу (просто нужно найти исходный код) http://jheer.org/vizster/
Решение
возможно, предварительный предохранитель набор инструментов для визуализации может вам помочь.Он основан на Java и содержит множество примеров приложений, включая просмотрщик графиков.
Другие советы
Вы могли бы попробовать Графвиз.Это работает на Linux, Windows и Mac OS X, и он создаст изображение (PNG, PS и т. д.) графика.Вам придется преобразовать данные Foaf в собственный язык, но его довольно легко выучить.
Я не знаю ни одной программы, которая автоматически генерирует визуализацию графиков. и позволяет интерактивно настраивать узлы, но Графвиз — действительно популярный инструмент для визуализации графиков.Его можно экспортировать в SVG, чтобы вы могли редактировать результат в своем любимом редакторе векторной графики.
Как рекомендуют другие плакаты, определенно Графвиз.Он принимает входной файл, назовем его 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-файл (при условии, что вы уже установили Graviz), выполните следующую команду:
dot -Tpdf foaf.dot > foaf.pdf
Graphviz поддерживает ряд выходных форматов, кроме pdf, подробности см. в его документации.
Я считаю, что программа «точка» обычно обеспечивает наилучшие результаты вывода, однако Graviz содержит в общей сложности 5 программ макетирования.Из документации:
- точка - фильтр для рисования ориентированных графов
- Neato — фильтр для рисования неориентированных графов
- twopi — фильтр радиального расположения графиков
- circo — фильтр для кругового расположения графиков
- fdp — фильтр для рисования неориентированных графов
Раньше я рекомендовал Graphviz, но решил добавить еще одну рекомендацию теперь, когда я использовал Гефи, более новый инструмент, чем многие другие здесь.Это очень мощный интерактивный инструмент исследования графов, который я считаю гораздо более удобным и быстрым, чем многие другие альтернативы, представленные здесь.
Попробуйте использовать Google Social Graph.В одном из выступлений на dConstruct08 на прошлой неделе был представлен социальный график, показывающий дружеские связи Роберта Скобла.
http://code.google.com/apis/socialgraph/
http://dconstruct.org/2008
Если вы используете Java, вы можете использовать Jграф.
Я знаю, что у Adobe Flex есть несколько компонентов для визуализации графиков, и, конечно же, это позволит приложению работать на Flash, который имеет отличную степень проникновения в вашу потенциальную базу пользователей.Я бы погуглил компонент Flex SpringGraph и проверил это.Для Flex существует множество графических компонентов, как платных, так и бесплатных версий.
Всего лишь один SpringGraph, который пришел мне в голову:http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1048510
проверьте этот форум: http://goosebumps4all.net/34all/bb/forumdisplay.php?fid=28для некоторых ярких примеров там есть граф «друг друга».
Вы пробовали использовать IDE NodeBox (1.0) на основе Python?Вот что я использовал для их создания: http://givememydata.com/#images
vizster выглядит круто, я проверю.
Для больших графиков очень популярен Gephi (http://gephi.org/).Он легко настраивается, имеет множество вариантов макета и представления.