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?
visualization
graphs
Cici
la source
la source
Réponses:
Je suggère également un
Gephi
logiciel ( https://gephi.github.io ), qui semble assez puissant. Quelques informations supplémentaires sur l'utilisationGephi
avec 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
igraph
collection 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 .
la source
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"
la source
Je pense que cela
Gephi
pourrait 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,GraphViz
il est possible d'utiliser des coordonnées précalculées pour faciliter les calculs.J'ai essayé de trouver des exemples concrets d'utilisation
GraphViz
avec d'énormes graphiques, mais j'ai échoué. Bien que j'aie trouvé une discussion similaire sur la science informatique .la source
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.
la source
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.
la source
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
la source
Jetez un oeil à Graphistry , ils peuvent gérer les nœuds et les bords de 1Mil.
la source