Qual é a melhor biblioteca para gerar gráficos de objetos visuais em PHP (ou JavaScript) (por exemplo, para representar uma rede social) [fechado

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

Pergunta

Tenho um requisito para representar graficamente as relações entre um conjunto de objetos e seus tipos em um aplicativo PHP. Os relatinos seriam gerados anteriormente. Estou procurando apenas uma ferramenta, de preferência gratuita, que exibirá os nós e suas relações.

Estou aberto a PHP ou JavaScript ou qualquer coisa que funcione, desde que não exija (de preferência) um plug -in separado. Acho que o que estou procurando é um pouco semelhante ao GraphViz.

Algumas das relações entre objetos podem ser semelhantes às seguintes. Estes são apenas por exemplo.

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 */

Observe que dois objetos também podem compartilhar vários relacionamentos.

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

O gráfico precisa representar não apenas os nós, mas também o relacionamento deles. A biblioteca gráfica precisa ser um pouco interativa para que um nó ou o relacionamento possa ser clicado para ativar alguma ação-como a pesquisa (de preferência através do AJAX) de informações adicionais. (Ainda mais preferível seria permitir que a ação ocorra no MouseOver.)

A biblioteca para entender os relacionamentos. Ele só precisa ser capaz de mostrar que existe um relacionamento e incluir o texto apropriado que descreve a relação que é fornecida quando o diagrama é gerado.

Qual é a melhor biblioteca para realizar esta tarefa? Mesmo que não haja biblioteca única que atenda plenamente à demanda, se houver uma que se aproxime, mas seja extensível, isso seria ótimo de saber também.

Obrigada!

Foi útil?

Solução

Você pode estabelecer uma representação visual com bastante facilidade com yuml. Por exemplo, se você quiser ressaltar que "John é casado com Mary e trabalha para Mark", você pode fazer o seguinte:

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

Que gera o seguinte:

Outras dicas

o Visualização de rede interativa bidirecional A biblioteca (para JavaScript) parece ter a funcionalidade que você está procurando. É usado para desenhar ontologias e seu exemplo se parece um pouco com uma ontologia. As pessoas têm relacionamentos diferentes e às vezes múltiplos. Além disso, a biblioteca Binviz oferece interatividade elegante, é relativamente pequena e não depende de outros LIBs.

GraphViz É o que eu achei a biblioteca avançada mais avançada para renderizar gráficos. Há Integração PHP via pêra. o amostras Inclua aqueles que Combine seus requisitos.

Veja também minha pergunta que está um pouco relacionada à sua:Gerar programaticamente modelos / diagramas gráficos (Adapt) de dados estruturados

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top