提前道歉是我误用了术语,不胜感激。我对有向图很着迷,但我从来没有数学/cs背景来了解它们的真正含义,我只是喜欢这项技术,因为它可以制作有用的图表。
我正在尝试创建一个将动态有向图呈现给浏览器的 Web 应用程序功能。我最近发现了Canviz,这是一个基于 cavas 的 xdot 渲染器,我想使用它。
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 库。但是,我对其他解决方案持开放态度。