事前のお詫びは、私が用語を誤用していることです、そして訂正はありがたいです。私は有向グラフに魅了されていますが、数学/計算機科学のバックグラウンドでそれらが実際に何であるかを知ることはできません。便利な図を作成できるので、技術が好きです。
動的有向グラフをブラウザにレンダリングするWebアプリケーション機能を作成しようとしています。最近、使用したいcavasベースのxdotレンダラーであるCanvizを発見しました。
Canvizは素晴らしいですが、xdot
ファイルをレンダリングします。ファイルには、複雑なポジショニングロジックがすべて含まれているように見えます。
/* example xdot file */
digraph abstract {
graph [size="6,6"];
node [label="\N"];
graph [bb="0,0,1250,612",
_draw_="c 9 -#ffffffff C 9 -#ffffffff P 4 0 -1 0 612 1251 612 1251 -1 ",
xdotversion="1.2"];
S1 [pos="464,594", width="0.75", height="0.5", _draw_="c 9 -#000000ff e 464 594 27 18 ", _ldraw_="F 14.000000 11 -Times-Roman c 9 -#000000ff T 464 588 0 15 2 -S1 "];
10 [pos="409,522", width="0.75", height="0.5", _draw_="c 9 -#000000ff e 409 522 27 18 ", _ldraw_="F 14.000000 11 -Times-Roman c 9 -#000000ff T 409 516 0 15 2 -10 "];
S1 -> 10 [pos="e,421.43,538.27 451.52,577.66 444.49,568.46 435.57,556.78 427.71,546.5", _draw_="c 9 -#000000ff B 4 452 578 444 568 436 557 428 546 ", _hdraw_="S 5 -solid c 9 -#000000ff C 9 -#000000ff P 3 430 544 421 538 425 548 "];
}
アプリケーションで生成しているファイルはdot
ファイルであり、このポジショニングロジックは含まれていません
digraph g {
ranksep=6
node [
fontsize = "16"
shape = "rectangle"
width =3
height =.5
];
edge [
];
S1 -> 10
}
私dot
のファイルxdot
をCanvizで使用できるファイルに変換できるPHPライブラリを探しています。コマンドラインプログラムdot
でこれを実行できることはわかっていますが、これは再配布可能なPHP Webアプリケーション用であり、依存関係としてのバイナリは避けたいと思います。
私の主な問題:dot
単純な有向関係に基づいてファイルを生成していて、ブラウザーでエンドユーザーに視覚的なグラフを表示したい。サーバー上の特定のバイナリプログラムの存在に依存することなく、これを実行したいと思います。これに対する最善の解決策は、Canviz+PHPでxdotファイルを生成することだと思います。これができるPHPライブラリを探しています。しかし、私は他の解決策を受け入れる以上のことをしています。