Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Usando SimpleGraph, ¿cómo distribuir mejor los nodos en el gráfico? (https://www.clubdelphi.com/foros/showthread.php?t=93860)

rrf 11-04-2019 13:16:09

Usando SimpleGraph, ¿cómo distribuir mejor los nodos en el gráfico?
 
Hola.
Estoy haciendo un programa que utiliza SimpleGraph. Lo hago con Delphi 7.
Dentro de cada imagen hay un grupo de nodos con enlaces entre ellos. Los nodos pueden ser varias decenas y cada uno puede tener unos pocos o muchos enlaces.
Todo eso puedo hacerlo.
Sin embargo, a la hora de situar los nodos dentro del gráfico, no siempre logro que queden lo más visibles posible.
Algunos nodos pueden recibir bastantes enlaces y, cuando están muy cercanos a otros nodos que están en la misma situación, resulta un poco confuso.
Los nodos pueden colocarse en cualquier parte de la imagen. Hasta ahora, he dibujado los nodos formando un círculo. Aunque normalmente queda mucho mejor después de haberle dedicado un rato a mover los nodos "a mano" para que queden más visibles los enlaces que tienen. Y eso es lo que quisiera hacer directamente con el programa.
¿Hay algún sistema o algún método para repartir los nodos dentro del gráfico de tal manera que se queden lo más visibles posible y que quede el gráfico lo más claro posible?.
De antemano, muchas gracias.
Saludos.

Neftali [Germán.Estévez] 11-04-2019 16:10:55

Tal vez podrías probar en estrella hacia afuera, con los nodos que tienen más enlaces en la parte central.
Pensando en programarlo, se me ocurre que aprovechando lo que tienes ahora que los dibuja en un círculo, puedes dibujarlos en varios circulos concéntricos, dejando los de más enlaces en el círculo exterior.


No se, por probar....

bucanero 11-04-2019 19:27:37

hola,
Puedes intentar ajustar el peso o importancia de cada uno de los nodos en función a los nodos que apunta y lo apuntan, y a partir de hay intentar dejar mas al centro los mas importantes y en las orillas los menos importantes

En este vídeo explican un poco el funcionamiento de este método, que parece es el que utiliza google para el PAGERANK.



Yo lo he utilizado también para determinar en arboles de categorías la importancia de una determinada categoría con respecto a las otras y he obtenido buenos resultados.

Espero que te pueda servir
saludos

rrf 11-04-2019 20:40:25

Hola Bucanero.
He visto el vídeo y también tu comentario, y parece la vía más lógica: primero valorar la importancia de cada nodo y, a partir de ahí, situar los nodos desde el centro hacia los extremos.
A no ser que alguien aporte alguna forma mejor de hacerlo, este parece el método más eficaz.
Bueno, acabo de terminar el texto anterior y luego he leído el texto de Germán (Neftali). Lo que me propones, Germán, coincide con lo que estaba pensando, aunque creo que lo que aporta Bucanero de que se sitúen en el centro los que tengan más enlaces podría ser más claro al representarlo.
Muchas gracias a los dos.


La franja horaria es GMT +2. Ahora son las 05:15:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi