Qu'est ce qu'un bon réseau graphique de la bibliothèque pour le langage X?
J'ai remarqué qu'une question récurrente est: “qu'est Ce qu'un bon réseau graphique de la bibliothèque pour le langage X”. J'ai joué avec un certain nombre de bibliothèques et je peux partager mes expériences avec vous.
Python:
NetworkX est un robuste bibliothèque qui a été intégrée à la visualisation, mais dispose également d'une interface de Graphviz à l'aide de pyGraphviz. (pyGraphviz et NetworkX sont écrits par le même auteur). NetworkX est open source et très facile à utiliser.
Perl:
Circos est développé pour visualiser les génomes et d'autres ensembles de données complexes. Il sera toujours utiliser une circulaire de mise en page, mais qu'elle est souvent le plus approprié à la mise en page si votre réseau est vraiment grand et sa modularité’ score est faible. Circos est open source.
.Net:
NodeXL est développé par Microsoft Research et est à la fois un add-on pour Excel et un .Net 3.5 bibliothèque. Il est assez ouvert (pour Microsoft de normes) et utilise de Fruchterman-Reingold algorithme pour la visualisation.
Java:
JUNG2 a été récemment publié et est également une bibliothèque robuste. A étendu la visualisation et principales mesures de soutien. JUNG2 est open source.
UbiGraph:
UbiGraph possède des interfaces de langues différentes, y compris Python (et NetworkX a UbiGraph de soutien), Ruby, PHP, Java, C, C++, C#, Haskell et OCaml. Il a très soignée de visualisation 3D de réseau, les graphiques à l'aide d'un serveur XML-RPC. La version de base est gratuite, vous avez à payer pour la version professionnelle.
Autonome:
Vous pouvez toujours utiliser un hors-the-shelf package tel que: Graphviz (Win, Linux, OSX), Pajek (Win), UCINET (Win), ou même de Visio (Win).
Je suis sûr qu'il ya beaucoup plus de paquets, mais ce sont ceux que j'ai moi-même utilisé. Quelles sont les autres bibliothèques ou les paquets sont disponibles?
- DONC, est pour les questions. Vous n'avez pas d'état d'une question ici, juste une liste. Si vous n'avez pas à le faire un wiki de la communauté, il sera certainement fermé comme "pas-une-question"
- détaché - pas-une-question
- Ajouter "y at-il d'autres?" sur la fin ... Il y a votre question. 😉
- Je suis un tout nouveau utilisateur de la SORTE, et je veux juste avoir de l'aide. Je ne suis pas sûr si je peux répondre à ma propre question et n'était pas au courant de la communauté wiki option. Mais j'ai changé en conséquence, donc merci pour la suggestion.
- Merci pour le rendre un wiki de la communauté. Je pense que c'est une liste utile, c'est pourquoi j'ai essayé de vous avertir (j'ai reconnu que vous êtes nouveau à la SORTE; bienvenue).
- Je ne sais pas ce que vous les gars sont à marmonner, sûrement: "Ce que les autres bibliothèques ou les paquets sont disponibles?" est une question?!
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter graphique de l'outil à la liste python. Il est très complet, et il est implémenté en C++, avec le Boost Graph Library, rendant les ordres de grandeur plus rapide que python-seulement des solutions de rechange, telles que NetworkX.
Disclaimer: je suis l'auteur de graphique de l'outil. 🙂
Pour Clojure, il est métier à tisser. Son WIP mais semble bon.
La Stanford Analyse De Réseau Du Projet (SNAP) a été écrit en C++ et conçu avec des performances à l'esprit pour analyser de grands ensembles de données. Le projet a été étendu avec une bibliothèque Python, et il a une documentation complète.
Note également que le projet est une bonne ressource pour des recueils de données empiriques à partir d'une variété de domaines.
En Java, prefuse est de loin le meilleur graphique logiciel de dessin. Il a une très grande force dirigée algorithme de mise en page, et puisque vous pouvez modifier les paramètres en temps réel et faites glisser les nœuds autour pour obtenir le graphique de la façon dont vous le souhaitez, vous serez en mesure d'explorer et d'organiser beaucoup plus grand de graphiques que tout non-système interactif.
Essayer ce applet de démonstration et vous allez tomber en amour avec elle aussi...
Si vous aimez les exemples de la cette page, jetez un oeil à de Mathematica représentation graphique capacités. L'auteur de la page de la galerie, Yifan Hu, l'habitude de travailler pour Wolfram Research, où il a développé des algorithmes de dessin de graphes pour les énormes graphiques. Ces algorithmes sont désormais intégrés dans Mathematica. Selon la façon dont vous souhaitez utiliser le graphique des dessins, vous pourriez obtenir un avantage énorme en étant en mesure d'utiliser Mathematica pour analyser vos graphiques; voir, par exemple, ce post de blog.
yFiles est une suite d'algorithmes de disposition qui offre la plus large gamme de différents automatique sophistiqué styles de mise en page. C'est une offre commerciale et est disponible pour plusieurs plates-formes et des langages: Javascript, Java, C#, et plus encore.
Il y a un interactive en ligne de la démo qui montre de nombreux algorithmes disponibles et les bibliothèques peuvent être évalués pour gratuit.
Disclaimer: je travaille pour la société qui crée ces bibliothèques, cependant, DONC je ne représente pas mon employeur. Cette recommandation est basée sur ma propre opinion. J'ai vu beaucoup de mise en page différente de la suite des implémentations pour les langues ci-dessus au cours des 15 dernières années et je ne connais pas d'autre mise à disposition qui est la plus complète et extensible que celui-ci.