Bibliothèque de graphiques .NET autour? [fermé]


92

Je recherche des bibliothèques graphiques pour .net. Y en a-t-il?

ps: Je veux dire les bibliothèques GRAPH, pas les graphiques ni les bibliothèques de graphiques!

edit: Ce que je veux dire, ce sont des graphes, de la théorie des graphes: (source: sourceforge.net )texte alternatif

J'en ai également besoin pour avoir des capacités de dessin.


Peut-être que cela pourrait être utile: github.com/komorra/NodeEditorWinforms
komorra

Le lien de l'image semble être rompu (il redirige vers autre chose maintenant)
UuDdLrLrSs

Réponses:


44

Utilisez une combinaison de QuickGraph ( GitHub , CodePlex ) et Graph # for WPF ( GitHub fork , CodePlex ) - les deux bibliothèques de premier ordre. Ils fonctionnent vraiment bien pour moi mais la documentation pour Graph # est presque inexistante.


16

Je travaille dans l'équipe NDepend et nous sommes passés de GraphViz à MsAgl ( Microsoft Automatic Graph Layout ) en septembre 2008. La licence MsAgl permet une utilisation commerciale. Voici quelques exemples d'images de graphiques MsAgl intégrés dans NDepend (tout est interactif, les nœuds sont mobiles / sélectionnables / amovibles / cliquables, les bords sont modifiables / sélectionnables / amovibles / cliquables, la mise en page est zoomable, et aussi, même si elle pourrait être plus propre l'API MsAgl est suffisamment propre pour fonctionner avec):

entrez la description de l'image ici entrez la description de l'image ici entrez la description de l'image ici


Peut également jouer avec AGL sur rise4fun.com/Agl et voir les graphiques d'autres utilisateurs sur rise4fun.com/rest/samples/rss/Agl
George Birbilis

2
Notez que MSAGL est maintenant OpenSource sous licence MIT sur GitHub: github.com/Microsoft/automatic-graph-layout et semble être maintenu, car un correctif pour la version Silverlight a été poussé récemment
George Birbilis

En ce qui concerne l'essai d'AGL sur le site Rise4Fun que j'ai mentionné, c'est peut-être une option simple pour le brainstorming, mais vous n'y entrez que le graphique sous forme de texte et les étiquettes que vous utilisez pour les nœuds sont utilisées comme identifiants dans cette syntaxe de texte, donc je suppose que vous ne peut pas avoir un nœud avec la même étiquette (par exemple Maison) à deux endroits dans le graphique. Il semble que vous pouvez également utiliser des étiquettes pour les bords du graphique (pour les liens), en utilisant la syntaxe indiquée sur rise4fun.com/Agl/fsm (appuyez sur le bouton PLAY là-bas, puis faites défiler vers le bas pour voir quel graphique est généré)
George Birbilis

Où puis-je télécharger une version binaire stable? Je ne veux pas construire toutes les sources de qualité inconnue.
Thomas Weller

Je suppose qu'ici github.com/Microsoft/automatic-graph-layout ne sais pas si la version binaire est incluse
Patrick de l'équipe NDepend

12

Mon message précédent est supprimé, je vais essayer de donner une réponse plus complexe à la question. La réponse la plus élevée n'est plus tout à fait actuelle car la bibliothèque Graph # est fortement obsolète.

Je recommanderai de vérifier la combinaison de GraphX et Quickgraph . GraphX ​​comme moteur de rendu et Quickgraph comme composant de gestion des graphes et d'opérations mathématiques.

La bibliothèque GrpahX est codée pour WPF 4.0 et METRO. Il fournit de nombreuses fonctionnalités qui manquent à Graph #:

  • Amélioration des performances de rendu pour les grands graphiques
  • Prise en charge du routage et du regroupement Edge, de nombreuses autres options Edge
  • Contrôle de zoom amélioré qui prend en charge la fenêtre d'aperçu et la sélection de plusieurs sommets
  • Documentation et échantillons riches

GraphX ​​prend également en charge tous les algorithmes de mise en page d'origine de Graph #. Veuillez visiter http://panthernet.ru/forum si vous avez des questions!


Le lien GraphX ​​est mort.
xabush

Non, j'ai juste eu de sérieux problèmes avec les virus sur l'hébergement. Les forums sont en ligne.
Alexander Smirnov

9

Il y a QuickGraph , il fonctionne plutôt bien et possède la plupart des algorithmes de base.


Bien mais ne semble pas être capable de dessiner les graphiques.
dévoré l'elysium

2
Vrai. J'ai eu l'impression que vous posiez des questions sur le calcul avec les graphiques, plutôt que sur les dessiner. Il produit cependant des formats utilisés par quelques outils de rendu différents.
Doug McClean


5

Vous pouvez utiliser l'API NodeXL de Microsoft Research à l' adresse : http://www.codeplex.com/NodeXL mais une question similaire a été posée à l' adresse : /programming/44090/do-you-know-any -graph-visualisation-bibliothèques-pour-net /


Cela semble bien, mais d'après ce que j'ai vu maintenant à partir de leurs exemples, il semble que vous deviez tout dessiner vous-même, ce qui serait un problème car j'ai des milliers de nœuds à dessiner.
dévoré de l'elysium

Je ne suis pas tout à fait sûr de ce que vous entendez par `` tout dessiner par vous-même '', NodeXL est à la fois une extension pour Excel mais aussi une API pour .Net et il prend en charge des algorithmes de mise en page de graphes comme la mise en page dirigée par la force (Fruchterman-Reingold ou Harel-Koren multi-échelle rapide) ou une disposition géométrique (cercle, grille, spirale, etc.). Je l'ai utilisé moi-même et il n'y a pas beaucoup de travail `` manuel ''
DrDee

Je parlais d'autre chose, je me suis confondu avec une réponse différente. Mais il semble que NodeXL nécessite Office 2007. Je n'ai même pas installé Office.
dévoré l'elysium

J'ai déjà installé ceci. Maintenant, comment suis-je censé l'utiliser à partir de c #?
dévoré de l'elysium

assurez-vous d'installer la bibliothèque d'API et non l'extension Office Excel. L'API est disponible sur: codeplex.com/NodeXL/Release/… L'espace de noms de NodeXL est Microsoft.NodeXL donc vous pouvez l'importer en utilisant: import Microsoft.NodeXL.Core import Microsoft.NodeXL.Visualization (je pense que ces deux sont les plus bibliothèques importantes). Assurez-vous simplement que le chemin de votre IDE contient le dossier NodeXL.
DrDee

3

Je ne l'ai pas encore essayé, mais j'ai rencontré une offre intéressante de MS Research pour la visualisation de graphiques dirigés Microsoft Automatic Graph Layout .

Essayez d'utiliser "graphique dirigé" ou "digraphe" pour les termes de recherche. Je reçois beaucoup de succès.


3

Jetez un œil à Satsuma . Écrit en C #, principalement des algorithmes de graphes, mais il existe également une mise en page et un dessin de graphique de base.


2

Consultez http://quickgraph.codeplex.com/ Ils prennent en charge la visualisation via DotViz et Glee.

Pour la visualisation, je vérifierais également

http://flare.prefuse.org/

Bien que ce soit flash, cela semble très intéressant, et ils ont au moins une visualisation arborescente, bien que vous puissiez peut-être en extraire certains graphiques non dirigés.


0

Cela ne contient-il pas seulement quelques exemples d'algorithmes de graphes construits sur les structures de données de collection? J'aurais deviné que la question demandait quelque chose comme la bibliothèque BGL C ++ ( boost.org/doc/libs/1_40_0/libs/graph/doc/index.html ).
Pontus Gagge

Vous avez raison Pontus. Il existe une classe Graph dans les exemples du guide de l'utilisateur, mais elle ne fait pas partie de la bibliothèque. C'est un exemple construit en plus. Et un en désordre, incomplet à cela en regardant la source.
Paul Sasik

Mais ça peut être utilisé, eh bien c'est comme une approche .......
jjchiw

0

Je pense que mon pote c'est ce que vous avez besoin!

Cet article présente une bibliothèque de graphes génériques, 100% C #. Cette bibliothèque est une tentative de portage de la bibliothèque de graphes Boost (BGL) de C ++ vers C #.


1
Oui, mais il a plusieurs problèmes en essayant de dessiner les graphiques, d'après ce que j'ai lu sur les commentaires de codeproject.
dévoré l'elysium

0

Nous avons utilisé ZedGraph qui est un projet Open Source écrit en C #, vous pouvez donc le modifier si vous le jugez nécessaire. Il a répondu à nos besoins qui semblent très proches de ce que vous avez décrit. Il y a même un site wiki pour le projet avec de très bons exemples.


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.