10
votes

Techniques de visualisation des graphiques en cluster

J'ai besoin de visualiser un graphique relativement grand (nœuds de 6 km, des bords 8K) qui possède les propriétés suivantes:

  • clusters distincts. Environ 50-100 nœuds par grappe et interconnectivité modérée au niveau du cluster
  • Minimal (5-10 Bords inter-cluster par groupe) Interconnectivité entre les clusters

    Laisser le chevauchement de bord global = les chevauchements de bord causés par visualisant directement un graphique de clusters = {A, B, C, D, E}, bords = { pentagramme de ces grappes, non plan, à la manière et générera définitivement des chevauchements de bord si vous le dessinez directement}

    laissez le chevauchement de bord local = ce qui précède mais {a, b, c, d, e} ne sont que des nœuds.

    Je dois visualiser des graphiques avec ce qui précède de manière à satisfaire les exigences suivantes

    • Aucun chevauchement de bord global (I.E. Les chevauchements de bord causés par les propriétés inter-cluster ne sont pas corrects)
    • Le chevauchement des bords locaux dans un cluster est bien

      Quelqu'un a des idées sur la meilleure façon de visualiser un graphique avec les exigences ci-dessus?

      Une solution que j'ai proposée pour faire face au chevauchement des bords globaux consiste à vous assurer qu'un groupe A ne peut avoir qu'un niveau maximum de 1 bord direct à un autre cluster (B) lors de la visualisation. Toutes les bords inter-cluster supplémentaires entre le cluster A -> C, A -> D, ... sont déconnectés et des nœuds / bords supplémentaires A -> A_C, C -> C_A, A -> A_D, D -> D_A ... sont créés.

      Quelqu'un a des pensées?


1 commentaires

Je suis un peu confus par la raison pour laquelle vous voudriez déconnecter les bords d'un cluster à l'autre après avoir connecté le premier bord. Vous dites que vous déconnectez les autres bords car ce groupe de clusters est entièrement connecté et vous n'avez donc pas besoin de représenter le reste des connexions? Si oui, pourquoi ne sortez-vous pas votre couche d'abstraction une étape et avez-vous des grappes de grappes entièrement connectées?


6 Réponses :


1
votes

Préfuse a un bon dessin de graphique texte de lien algorithmes intégré et il semble manipuler des graphiques assez importants relativement bien. Vous pouvez essayer Disposition de la carte de débit qui est construite sur la préfuse.


0 commentaires

0
votes

Je n'ai pas vu trop d'outils de visualisation graphique prenant en charge la séparation des grappes dans un graphique visuellement. Une option pourrait être de jeter un coup d'œil à Wilmascope . Il semble avoir un soutien pour les mises en page à base de grappes.


0 commentaires

1
votes

Compte tenu de vos objectifs, je pense que le Algorithme Fruchterman-Reingold fait une jolie Travail décent de prévention du chevauchement des bords. Voir par exemple ce Capture d'écran d'un réseau composé de plusieurs composants dessinés à l'aide de l'algorithme Fruchterman-Reingold. IGRAPH a une prise en charge intégrée de cet algorithme (de même que NetworkX Je crois) et est vraiment rapide.


1 commentaires

J'ai essayé la mise en page et j'ai décidé de ne pas y aller à la fin. Fr a tendance à occuper tous les espaces disponibles avec un nœud et de causer un gâchis en général. La meilleure mise en page locale que j'ai essayée est la multination de Yifanhu suivie de Forceatlas. De plus, ma question ci-dessus posait des questions sur les techniques de visualisation globales du cluster :)



0
votes

Layout organique gère des graphiques assez bien groupés dans le cadre Yfiles. Essayez d'abord dans Yed pour voir si cela est nécessaire. Il est probablement raisonnable d'utiliser des groupes alias de graphiques imbriqués pour chaque cluster. La mise en page organique présente une fonctionnalité appelée stratégie de mise en page de groupe qui peut être utilisée si la mise en page doit être effectuée à l'aide de différents principes pour les bords inter-cluster et intra-cluster, avec une mise en disposition progressive. Avec certains efforts, on peut traduire le graphique en graphml pour éviter le travail manuel.


0 commentaires

1
votes

Il existe un programme construit sur Préfuse appelé socialaction . Vous devez demander au code de l'auteur, mais il fait beaucoup d'analyse statistique sur le graphique pour vous, telles que l'identification des sous-graphes. Je l'ai utilisé sur un graphique avec plus de 18 000 nœuds, et bien que cela soit très lent à cette échelle, cela fonctionne toujours.


0 commentaires

1
votes

Bien que cela puisse être idiot de demander à ce point, avez-vous essayé http://www.graphviz.org / ?


0 commentaires