Какая библиотека лучше всего подходит для генерации графов визуальных объектов на PHP (или JavaScript) (напримерза изображение социальной сети) [закрыто]

StackOverflow https://stackoverflow.com/questions/1392167

Вопрос

У меня есть требование графически изобразить отношения между набором объектов, а также их типы в PHP-приложении.Связи были бы сгенерированы ранее.Я всего лишь ищу инструмент, желательно бесплатный, который будет отображать узлы и их связи.

Я открыт для PHP или JavaScript или любой другой вещи, которая будет работать до тех пор, пока для этого не требуется (предпочтительно) отдельный плагин.Я думаю, что то, что я ищу, немного похоже на Graphviz.

Некоторые отношения между объектами могут быть похожи на следующие.Это только для примера.

Sam->(knows)->Mark    /* Relationship is explicitly defined */
Shannon->(may know)->Jennifer     /* Relationship is inferred */
Linda->(is Married to)->Neville   /* Relationship is defined but information is missing (i.e. gender) to determine which node fills which role (i.e. husband, wife) */
Carl->(is Related to)->John /* Relationship is defined but parameters are completely unknown */

Пожалуйста, обратите внимание, что два объекта также могут иметь несколько общих связей.

Mary->(is Boss)->John
Mary->(is Wife)->John
Mary->(has children with)->John

На графике должны быть изображены не только узлы, но и их взаимосвязи.Графическая библиотека должна быть в некоторой степени интерактивной, чтобы можно было щелкнуть по узлу или взаимосвязи, чтобы включить какое-либо действие - например, поиск (предпочтительно через AJAX) дополнительной информации.(Еще более предпочтительным было бы разрешить выполнение действия при наведении курсора мыши.)

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

Какая библиотека лучше всего подходит для выполнения этой задачи?Даже если не существует единой библиотеки, полностью удовлетворяющей требованиям, если есть какая-то близкая, но расширяемая, это тоже было бы здорово узнать.

Спасибо!

Это было полезно?

Решение

Вы можете довольно легко создать визуальное представление с помощью Юмл.Например, если вы хотите указать, что "Джон женат на Мэри и работает на Марка", вы могли бы сделать следующее:

[John]->(works for)->[Mark]
[John]->(married to)->[Mary]

Который генерирует следующее:

Другие советы

В Двунаправленная Интерактивная Визуализация Сети библиотека (для Javascript), похоже, обладает той функциональностью, которую вы ищете.Он используется для рисования онтологий, и ваш пример немного похож на онтологию.У людей разные, а иногда и множественные отношения.Кроме того, библиотека BINViz предлагает отличную интерактивность, является относительно небольшой и не зависит от других библиотек.

Графиквиз это то, что я счел самой продвинутой библиотекой для рендеринга графиков.Есть Интеграция PHP через Pearобразцы включают в себя те , которые соответствует вашим требованиям.

Также смотрите мой вопрос, который в какой-то степени связан с вашим:Программно генерировать графические (АДАПТИРОВАТЬ) модели / диаграммы структурированных данных

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top