[解決済み] 純粋なJavaScriptのGraphvizと同等品 [終了しました]。
質問
GraphViz が生成できる方向フロー図の純粋な、Javascript ベースの実装をご存知の方はいらっしゃいますか? 私は、きれいな視覚的な出力に興味があるのではなく、情報の木ではなくグラフを扱っているときに交差するエッジの数を最小限に抑えるように最適化されたベジエ線のレイアウトとともに、各ノードの最大の深さを把握するための計算に興味があるのです。 私はこのコードをブラウザ内で実行したいと思います。私は、拡張機能としてNodeサーバにGraphvizを簡単に埋め込むことができることを知っていますし、あるいは
popen()
でグラフ情報をストリームすることもできます。
.dot
形式でストリームオーバーします。
参考までに、典型的なGraphVizの出力を以下に示します。接続線がノード間を移動できるように、要素がどのように積み重ねられ、間隔が空けられているかに注意してください(非常に頻繁に交差したり、ノードを通過したりすることはありません)。
どのように解決するのですか?
この純粋な JavaScript による .dot canvas レンダラーの実装を見てみましょう。
このライブラリはドキュメント化されていません。作者は間違いなくもっと公表し、ドキュメント化すべきです(少なくともgithubにアップするよう彼に連絡します)。
更新 : コードは github にプッシュされました。 https://github.com/gyuque/livizjs
更新情報(2013/2/14) : 新たな候補が生まれました!このテーマに興味がある人は、ぜひViz.jsの サンプルページ と github リポ .
更新情報(2020/7/16) : (7年後) http://webgraphviz.com/ も素晴らしい! :-)
関連
-
fetch ネットワークリクエストラッパーの説明例
-
JavaScriptのStringに関する共通メソッド
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] printf/String.Formatに相当するJavaScriptの機能
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
vue3.0プロジェクトのアーキテクチャを構築するための便利なツール
-
jQueryのコピーオブジェクトの説明
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
JavaScriptのStringに関する共通メソッド
-
フロントエンド非同期(アシンク)ソリューション(全ソリューション)
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory, scandir 'D:\.... \node_modules
-
[解決済み】JavaScriptによるグラフ可視化ライブラリ