Заранее извиняюсь, я неправильно использую терминологию, и исправления приветствуются.Я очарован ориентированными графами, но у меня никогда не было математических знаний, чтобы знать, о чем они на самом деле , мне просто нравится технология, потому что она делает полезные диаграммы.
Я пытаюсь создать функцию веб-приложения, которая будет отображать динамический ориентированный граф в браузере.Недавно я обнаружил Canviz , который представляет собой рендерер xdot на основе Cavas, который я хотел бы использовать.
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
}
I'mищу библиотеку PHP, которая может конвертировать мой dot
файл в xdot
файл, который может быть использован Canviz.Я понимаю, что программа командной строки dot
может сделать это, но это для распространяемого веб-приложения PHP, и я бы предпочел избегать любых двоичных файлов в качестве зависимостей.
Моя основная проблема: я генерируюdot
файлов на основе простых направленных связей, и я хочу отобразить визуальный график для конечных пользователей в браузере.Я хотел бы сделать это без необходимости полагаться на наличие конкретной двоичной программы на сервере.Я думаю, что лучшим решением для этого является Canviz + PHP для создания файлов xdot.Я ищу библиотеку PHP, которая может сделать это.Однако я более чем открыт для других решений.