Добрый вечер,
Я пытаюсь найти способ отображения простых графов узлов / ребер из Neo4J DB в PHP. Я взглянул на three.js, sigma и alchemy, но эти инструменты кажутся сложными для таких простых задач. Затем я нашел GraphViz, который отлично работает, когда я использую редактор. Но я не смог найти помощь, когда хотел использовать это из PHP. Существует пакет груши, который больше не подходит для PHP> 5.0 (пробовал и сталкивался с множеством ошибок (например, нестатический метод System :: mktemp () не должен вызываться статически — здесь также есть поток об этом: Graphviz не работает с PHP 5.3.2) и я нашел документ http://www.graphviz.org/pdf/gv.3php.pdf — но, к сожалению, кажется, я не могу справиться с этим.
У кого-нибудь есть пример, как рисовать, например. этот:
<?php
require_once 'Image/GraphViz.php';
$gv = new Image_GraphViz();
$gv->addEdge(array('wake up' => 'visit bathroom'));
$gv->addEdge(array('visit bathroom' => 'make coffee'));
$gv->image();
?>
(Источник:http://pear.php.net/manual/en/package.images.image-graphviz.example.php)
Этот код взят из примера пакета pear, но не запускается — но, возможно, у кого-то есть идея, как использовать его из PHP напрямую через расширение gv.php от GraphViz?
Пример GraphViz, который отлично работает в редакторе:
graph graphname {
a -- b;
b -- c;
b -- d;
d -- a;
}
Но как заставить PHP общаться с GraphViz и производить вывод?
Любая помощь очень ценится, спасибо.
В
Вы также можете просто использовать рендерер точек, основанный на JavaScript, например
Результат моего поиска:
Сейчас пользуюсь http://visjs.org/ которая подходит для моих нужд. Вот пример для кода: http://visjs.org/docs/network.html#Example
Проблема назначения URL-адресов для узлов была решена путем изменения javascript с помощью простого location.href по щелчку.