2009-05-11 14 views
6

Estoy buscando una forma de dibujar gráficos dirigidos en PHP. (como en http://upload.wikimedia.org/wikipedia/commons/0/08/Directed_acyclic_graph.png). Quiero que cree una imagen de la gráfica al igual que GD puede generar una imagen.¿Cómo hacer el grafismo dirigido en PHP?

He buscado mucho en esto, pero solo puedo encontrar muchas bibliotecas para dibujar gráficos en general (con barras, etc.), no gráficos dirigidos.

P.S. He intentado usar dot (el programa de Linux) a través del sistema(), pero desafortunadamente no tengo permiso para hacerlo en el servidor. Además, no tengo derecho a instalar extensiones de PHP y cosas así en el servidor, por lo que debería funcionar con PHP normal (idealmente con solo incluir un archivo).

Gracias de antemano.

+0

¿Por qué no se puede hacer esto utilizando gd? Sería relativamente trivial, solo necesita hacer un seguimiento de dónde está cada nodo. ¿Desea simplemente dar la lista de nodos y a qué se conectan, y genera automáticamente el gráfico dirigido? –

+0

He intentado esto, pero es bastante complejo hacer que funcione sin (para muchos) errores, resulta en gráficos realmente formateados. El problema más grande es la estructura de la red, evitar muchas líneas de cruce, etc. – openbas2

Respuesta

3

Encontré un PEAR interface to GraphViz; No lo he usado antes, así que no puedo darle ninguna recomendación personal, ya sea bueno o malo. (pero quizás eso no resuelva su problema ya que dice que no puede instalar aplicaciones)

+0

Sería una buena solución, pero desafortunadamente no está instalado en mi cuenta, y no tengo derecho a hacerlo yo mismo. – openbas2

+5

También puede descargar manualmente el paquete y sus dependencias. No necesita el instalador PEAR para usar paquetes PEAR. –

3

No conozco ninguna implementación de visualización de gráficos en php.

Sin embargo, le sugiero que considere dibujar el gráfico con javascript, por ejemplo con la biblioteca canviz JS que funciona en la mayoría de los navegadores (sí, incluido IE 6 & 7, pero actualmente no 8).

0

Después de una búsqueda rápida en Google, encontré graph.php, que en los comentarios indica que conecta nodos a través de arcos, viceversa en el ejemplo proporcionado, pero puede ser un buen paso en la dirección correcta.

+0

Tal vez me esté perdiendo algo, pero hasta donde puedo ver, esta es solo la estructura de datos (que ya tengo). No parece dibujar el gráfico? – openbas2

+0

Sí, noté esto cuando me estaba preparando para ponerlo en uso. Pensé que el código en esa página estaba recortado. Lo siento por eso. – qat

0

I usar PHP para generar JSON que se consume por el sistema d3 force-directed graph. Por lo que la pantalla es todo manejado lado del cliente, todo lo que necesita hacer es hacer las estructuras de datos JSON derecha ...

-FT

Cuestiones relacionadas