与えられた情報に基づいてチャートを自動的に描画(整列、再配置)するフローチャートツールはありますか?
チャートにブロックを追加し、それらの間に関係を作成してから、ソフトウェアがブロックと線を再配置して、読みやすいようにします。その後、さらにブロック/関係を追加して、プロセスを繰り返すことができます。
基本的に、視覚的にどこに何を置くかを計画する手間をかけずに、フローチャートでプログラムを設計します。
フローチャートを描くためのツール(Visio、Dia、LucidChartなど)がたくさんあることは知っていますが、この機能を備えたツールを求めています(それがあるかどうかはわかりません)。
私は最高のものを求めているのではありません、私はただ仕事をするものが欲しいです。
アイデア?
編集:DOTエンジンは素晴らしいツールですが、入力システムは私には機能しません。 (テキスト言語でデータを入力することなく)チャートをそのまま編集し、すべての要素を読みやすい方法で再配置するボタンまたは何かを持っている(たとえば、関係の交差が少ないように)可能な限り類似しています)。
code2flow は、フローチャートジェネレーターへのオンライン擬似コードであり、ユーザーが求めることを行う必要があります。画像をクリックして再生します。
非常に基本的なツール graphviz がすべてのレイアウトを行います。
例:
graph g {
node[shape=rectangle]
a--b
}
これを描く:
しかし、他にもたくさんのオプション、形状などがあります。ここで試すことができます: http://sandbox.kidstrythisathome.com/erdos/
編集:WISIWIGエディターの場合: graphvizに適したIDEまたはWYSIWYGエディターはありますか?
http://www.pixelglow.com/graphviz/ が最適なオプションのように見えます。
Graphviz dot は、ノードとアークを定義する入力ファイルに基づいて、選択した形式(PDF、SVGなど)でグラフを出力するグラフレイアウトエンジンです。それはあなたが望むことをするためにそれを使用することができるのに十分な柔軟性がありますが、おそらくかなりの初期の努力が関与しているでしょう。
私の知る限り、グラフ描画で探している機能は「増分レイアウト」または「部分レイアウト」と呼ばれています。
インクリメンタルレイアウトは、グラフまたはネットワークにインクリメンタルな変更(ノードまたはエッジの追加または削除)を行い、レイアウトを再計算します(「ノードの整列」 ")、エッジパスを調整し、ラベルを再配置して、新しい画像を作成します。完全なレイアウトとゼロからの違いは、既存の要素の場所が新しいレイアウトのために考慮され、ユーザーの心にある図面の精神的な図を完全に破壊しないように新しい要素が図面に挿入されることです。これにより、元の要素が移動する場合があります(たとえば、要素が削除された領域を圧縮するため)が、既存の要素の相対的な位置は維持されます。
Partial layoutは既存の要素を変更せず、グラフの「new」部分のみに新しいレイアウトを適用します。これにより、既存の要素の位置とパスが維持されますが、最適な結果が得られなくなる可能性があります。
私の知る限り、これらの機能はごく少数のグラフ描画ライブラリでのみ利用できます。概念的に非常に単純なアルゴリズム(春の埋め込みとツリーレイアウトに基づくアルゴリズム)に対してのみ、この機能は実装が容易であるため、より多くのライブラリで利用できる場合があります。
私が働いている会社は、Java、.net、およびJavascriptに yFiles Graph Drawing Libraries を提供しています。これらのライブラリ これらのタイプのレイアウトをサポート 。これらの種類の機能をサポートできるはずだと私が知っている唯一の他のライブラリは、 TomSawyer Layout です。
次の論理プロセスのフローチャートを確認してください: http://flow.oodupinc.com/ 。使用例 http://oodupinc.blogspot.com/ 。
共同で無料で、ノードの説明をフローチャートとは別に管理し、フローチャートのモジュラーシステムで使用できます。さらに、フローチャートのXML仕様を取得して、リッチグラフィカルアプリケーション(HTML + SVG + CSS)またはその他の操作を生成します。現在、新しいユーザーはメールでユーザーアカウントをリクエストする必要があります。フローチャートは、下から右へのリンクフローなどのフローチャートルールを使用して、仕様から作成されます。