Existe-t-il un outil d'organigramme qui dessinera automatiquement (aligner, repositionner) un graphique basé sur des informations données?
Je voudrais ajouter des blocs à un graphique, créer des relations entre eux, puis demander au logiciel de repositionner les blocs et les lignes afin qu'ils soient facilement lisibles. Ensuite, je peux ajouter plus de blocs/relations et répéter le processus.
Fondamentalement, je veux concevoir un programme en organigrammes sans avoir à planifier où mettre quoi visuellement.
Je sais qu'il existe de nombreux outils pour dessiner un organigramme (par exemple, Visio, Dia, LucidChart, etc.), mais j'en demande un avec cette fonctionnalité (je ne sais pas s'ils l'ont ou non).
Je ne demande pas le MEILLEUR, je veux juste TOUT qui fera le travail.
Des idées?
EDIT: Bien que le moteur DOT soit un excellent outil, son système d'entrée ne fonctionne pas pour moi. J'aimerais pouvoir modifier le graphique tel quel (sans avoir à saisir de données via le langage texte), puis avoir un bouton ou quelque chose qui réalignerait tous les éléments de manière à ce qu'ils soient facilement lisibles (par exemple, comme peu de relations croisées) possible et similaire).
code2flow est un pseudo-code en ligne pour générer un organigramme qui devrait faire ce que vous demandez, cliquez simplement sur l'image pour jouer avec:
Outil très basique graphviz fait toute la mise en page pour vous.
Exemple:
graph g {
node[shape=rectangle]
a--b
}
Dessine ceci:
Mais il existe de nombreuses autres options, formes, etc., vous pouvez essayer ici: http://sandbox.kidstrythisathome.com/erdos/
EDIT: pour l'éditeur WISIWIG, regardez ici: Y a-t-il un bon IDE ou éditeur WYSIWYG pour graphviz?
On dirait que http://www.pixelglow.com/graphviz/ est la meilleure option.
Graphviz dot est un moteur de mise en page graphique qui génère des graphiques dans un choix de formats (par exemple PDF, SVG) basé sur un fichier d'entrée qui définit les nœuds et les arcs. Il est suffisamment flexible pour que vous puissiez l'utiliser pour faire ce que vous voulez, mais cela nécessiterait probablement beaucoup d'efforts initiaux.
Pour autant que je sache, la fonctionnalité que vous recherchez dans le dessin de graphique est appelée "disposition incrémentielle" ou "disposition partielle".
Disposition incrémentielle vous aidera à apporter des modifications incrémentielles à un graphique ou à un réseau (ajout ou suppression de nœuds ou d'arêtes), puis recalculera la disposition ("alignez les nœuds "), ajustez les chemins Edge et réorganisez éventuellement les étiquettes afin d'obtenir une nouvelle image agréable. La différence avec une mise en page complète à partir de zéro est que l'emplacement des éléments existants est pris en compte pour la nouvelle mise en page et de nouveaux éléments sont insérés dans le dessin afin de ne pas détruire complètement l'image mentale du dessin dans l'esprit de l'utilisateur. Cela peut entraîner le déplacement des éléments d'origine (par exemple afin de compacter les régions où les éléments ont été supprimés), mais les positions relatives des éléments existants les uns par rapport aux autres sont conservées.
La disposition partielle ne changera aucun des éléments existants mais appliquera la nouvelle disposition à la partie du graphique qui est "nouvelle" uniquement. Cela conserve les emplacements et les chemins des éléments existants, mais peut conduire à des résultats moins optimaux.
À ma connaissance, ces fonctionnalités ne sont disponibles que dans très peu de bibliothèques de dessins graphiques. Seulement pour les algorithmes conceptuellement très simples (ceux basés sur des plongeurs à ressort et peut-être des dispositions d'arbre), cette fonctionnalité est facile à implémenter et pourrait donc être disponible dans plus de bibliothèques.
La société pour laquelle je travaille fournit les yFiles Graph Drawing Libraries pour Java, .net et Javascript. Ces bibliothèques prennent en charge ces types de dispositions . La seule autre bibliothèque à ma connaissance qui devrait pouvoir prendre en charge ce type de fonctionnalités est TomSawyer Layout .
Vérifiez les organigrammes de ce processus logique: http://flow.oodupinc.com/ . L'exemple d'utilisation http://oodupinc.blogspot.com/ .
C'est collaboratif, gratuit et vous pouvez gérer les descriptions de nœuds indépendamment des organigrammes et les utiliser dans le système modulaire des organigrammes. De plus, vous obtenez la spécification XML des organigrammes pour générer une application graphique riche (HTML + SVG + CSS) ou d'autres manipulations. Actuellement, les nouveaux utilisateurs doivent demander un compte utilisateur par e-mail. L'organigramme est tiré de la spécification en utilisant les règles de l'organigramme comme les liens vers le bas et la droite.