12

グラフのレイアウトができるJavascriptライブラリ/エンジンを探しています。(そして、私がレイアウトと言うとき、私は論理的に頂点をうまく配置することを意味します。)私が扱っているグラフはすべてm-aryツリーです。Mは通常5または6以下ですが、場合によってはそれより大きくなることもあります。

現在使用しているGraphvizのノードプログラムがあり、完全に機能します。問題は、Webアプリを実行しているときに、レイアウトが必要になるたびにサーバーにリクエストを送信する必要があることです。できれば、クライアント側ですばやく実行できるJavascriptで記述されたものが必要です。必要なのは、レイアウト情報(相対的な位置など)を提供することだけです。キャンバスに描画したり、SVGなどを使用したりするのに必要ありません。興味があるのは、レイアウトだけです。

jQueryやRaphaelJSのようなライブラリの使用は私には問題ありません。私はそれで働きます。私は物事を少しスピードアップするための何かを探しています。

また、レイアウトを行うためのアルゴリズムの良い説明を見つけることができれば、自分で書くことを検討したいと思います。しかし、私は本当にあまり時間をかけたくありません。私は今うまくいくものを持っているので、クライアント側でそれを取得することは単なるボーナスであり、必要ではありません。

4

4 に答える 4

10

dagre https://github.com/dagrejs/dagreをチェックしてください。D3を使用し、Graphviz (杉山) のレイアウトを実行します。

于 2013-03-05T05:00:50.097 に答える
8

D3(データ駆動型ドキュメント)をご覧ください

http://d3js.org/

彼らはいくつかの美しいグラフレイアウトを持っています。

于 2012-09-04T21:40:25.490 に答える
3

商用シナリオでは、 HTMLライブラリのyFiles を検討する価値があります。独自の視覚化および編集機能も備えていますが、レイアウトはスタンドアロンでも使用できます。これを書いている時点では、これらは純粋な Javascript ライブラリを探している場合に見つかる最も柔軟で複雑なレイアウト アルゴリズムである可能性が非常に高いです。もちろん、基本的に任意のライブラリ (GraphViz ライブラリなど) をJavascript "blob"にコンパイルする現在利用可能な手法がありますが、それらは真の API を提供するものではなく、ブラウザのコンソール アプリケーションに似ています。

yFiles のレイアウトで何ができるかを示すオンラインで利用可能なデモが多数あります。この実装は、力指向アルゴリズム、階層 (杉山スタイル)、直交、ツリー、循環、および純粋なエッジ ルーティング アルゴリズムの洗練された構成可能なバージョンを提供します。この概要では、使用可能なさまざまなモジュールと、それらがビューアーおよびエディター パーツから独立して使用できることを示します。

完全な開示: 私は yFiles を作成する会社で働いていますが、SO では雇用主を代表していません。

于 2013-10-10T14:35:48.407 に答える
2

http://sigmajs.org/は、グラフの視覚化に特化した js ライブラリです。SVG の代わりに Canvas を使用します。

于 2013-01-08T12:51:57.417 に答える