私のチームは、HTML5 Canvas または D3 ライブラリ (またはその他の適切なもの、提案を歓迎します) を使用して、JavaScript でフローチャート ジェネレーターを構築する必要があります。フローチャートは、JSON ドキュメントで定義された有向グラフから生成されます。私の質問は次のとおりです。重複する接続の数とそれらの長さを最小限に抑えるために、フローチャート内の形状 (グラフ内のノード) の自動配置を容易にするために使用できる標準アルゴリズムはどれですか?
4 に答える
あなたが探している標準的なアルゴリズムは、強制有向グラフです: http://en.wikipedia.org/wiki/Force-based_algorithms_(graph_drawing) 軽量で、ブラウザにとらわれず、効率的な FD js ライブラリが必要な場合は、arbor をご覧ください。 js: https://github.com/samizdatco/arbor
IMHO D3はあなたが見つける最も強力なライブラリです(フォースベースのアルゴリズムが組み込まれています)が、IE < 9とは互換性がなく、ライブラリよりも少し低いレベル(ドキュメント指向)です(学ぶことは少なく、考えることがもっとあります)。
JIT は優れたライブラリでもあり (フォースベースのアルゴリズムも組み込まれています)、IE < 9 とは互換性がありません。Infovis の Highcharts に似ています。学ぶこと (ヘルパー、オプション、パラメーター) が増え、考えることが少なくなります。
WireIt (YUI3) と JSplump (jQuery) は優れた配管ライブラリですが、FD アルゴリズムは含まれていません。
JavaScript InfoVis Toolkit (JIT) には、目的に合ったツールがいくつか含まれている場合があります。