Visualiser un graphique avec un million de sommets


17

Quel est le meilleur outil à utiliser pour visualiser (dessiner les sommets et les bords) un graphique avec 1000000 sommets? Il y a environ 50000 arêtes dans le graphique. Et je peux calculer l'emplacement des sommets et arêtes individuels.

Je pense à écrire un programme pour générer un svg. D'autres suggestions?


vous pouvez essayer Graphviz ... vous ne savez pas s'il évolue jusqu'à des millions de sommets ....
Debasis

Espérons qu'une réponse à cette question puisse toucher la façon dont les graphiques comme ceux-ci ont été créés: medium.com/i-data/…
shadowtalker

Bonjour @Cici, les questions sur les outils recommandés sont généralement déconseillées sur ce site et sur d'autres sites SE, car elles invitent simplement beaucoup d'opinion.
Sean Owen

Réponses:


19

Je suggère également un Gephilogiciel ( https://gephi.github.io ), qui semble assez puissant. Quelques informations supplémentaires sur l'utilisation Gephiavec de grands réseaux peuvent être trouvées ici et, plus généralement, ici . Cytoscape( http://www.cytoscape.org ) est une alternative à Gephi, étant une autre plate-forme populaire pour l'analyse et la visualisation de réseaux complexes.

Si vous souhaitez travailler avec des réseaux par programmation (y compris la visualisation) en R, Python ou C / C ++, vous pouvez vérifier la igraphcollection de bibliothèques. En parlant de R, vous pouvez trouver intéressant les articles de blog suivants: sur l' utilisation de R avec Cytoscape ( http://www.vesnam.com/Rblog/viznets1 ) et sur l' utilisation de R avec Gephi ( http://www.vesnam.com/ Rblog / viznets2 ).

Pour des listes complètes de logiciels d'analyse et de visualisation de réseau , y compris des comparaisons et des critiques, vous pouvez consulter les pages suivantes: 1) http://wiki.cytoscape.org/Network_analysis_links ; 2) http://www.kdnuggets.com/software/social-network-analysis.html ; 3) http://www.activatenetworks.net/social-network-analysis-sna-software-review .


8

https://gephi.github.io/ dit qu'il peut gérer un million d'arêtes. Si votre graphique a 1000000 sommets et seulement 50000 arêtes, la plupart de vos sommets n'auront de toute façon aucune arête.

En fait, la spécification Gephi est le double de votre exemple: "Réseaux jusqu'à 50 000 nœuds et 1 000 000 d'arêtes"


8

Je pense que cela Gephipourrait faire face à des problèmes de manque de mémoire, vous aurez besoin d'au moins 8 Go de RAM. Bien que le nombre de bords ne soit pas extrêmement énorme.

Peut-être, un outil plus approprié dans ce cas serait GraphViz. Il s'agit d'un outil en ligne de commande pour les visualisations réseau, et serait probablement plus tolérant à la taille du graphique. De plus, si je me souviens bien, GraphVizil est possible d'utiliser des coordonnées précalculées pour faciliter les calculs.

J'ai essayé de trouver des exemples concrets d'utilisation GraphVizavec d'énormes graphiques, mais j'ai échoué. Bien que j'aie trouvé une discussion similaire sur la science informatique .


4

Compte rendu: j'ai fini par coder graphml et utiliser yEd pour la visualisation (juste parce que je connais cette combinaison. Je parie que gephi ou graphviz fonctionnerait bien et pourrait même être mieux). Depuis que j'ai calculé l'emplacement de tous les nœuds, la mémoire n'était pas un gros problème. Le codage de graphml est un peu plus facile à comparer au codage svg, car je n'ai pas besoin de spécifier explicitement le placement des bords.


2

PajekXXL est conçu pour gérer d'énormes réseaux. Mais Pajek est aussi une sorte de programme bizarre avec une interface peu intuitive.


2

Je recommanderais d'utiliser Graphexp. Gephi dépend fortement de la RAM de votre ordinateur qui est évidemment limitée. Graphexp, en revanche, n'affiche qu'un nombre limité de nœuds, à travers lesquels vous pouvez naviguer vers d'autres nœuds. J'ai visualisé un graphique avec 700 millions de sommets utilisant Graphexp comme interface utilisateur et Janusgraph avec HBase comme stockage back-end. https://github.com/bricaud/graphexp


Vraiment? pour moi ça commence à s'étouffer en essayant de montrer plus de 100 sommets
BrDaHa

La vitesse dépend principalement de la base de données principale et de la capacité de calcul. Graphexp est uniquement UI.
Sandeep Kumar

Je m'en rends compte, mais par "étranglement", je veux dire que le taux de rafraîchissement tomberait à 1-2 fps lors de l'animation des nœuds à l'écran. Il pourrait être utile de noter qu'il s'agit d'une version récente de Safari
BrDaHa

0

Jetez un oeil à Graphistry , ils peuvent gérer les nœuds et les bords de 1Mil.


Oui, Graphistry est le seul outil visuel interactif pour les grands graphiques car il s'exécute de bout en bout sur les GPU pour vous.
Leo Meyerovich
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.