Как я могу получить координаты узла из графика, используя Perl?
Хорошо, у меня есть определение блок-схемы (в основном, массив узлов и ребер для каждого узла). Теперь я хочу вычислить координаты для каждой задачи в потоке, предпочтительно в иерархическом стиле.
Мне нужно что-то вроде Graph::Easy::Layout, но я не знаю, как получить координаты узлов: я сам визуализирую узлы и хочу получить только координаты / размер блока. Какие-либо предложения?
Мне нужен модуль CPAN, доступный даже в репозитории Debian.
1 ответ
Вы можете конвертировать tarball из CPAN в пакет Debian. Посмотрите , как лучше всего превратить модули CPAN в пакеты Debian?
Там вы найдете много полезных советов и ссылок. Там даже обсуждается, почему установка модулей таким способом может быть плохой идеей.
Обновить
Для макета с информацией о координатах, http://search.cpan.org/perldoc?Graph::Layout::Aesthetic, вероятно, ваш лучший выбор.
Большинство других пакетов в CPAN создают графики на некотором языке описания (например, Graphviz DOT, GraphML или GDL) и полагаются на другие библиотеки макетов графиков для выполнения реальных задач макета. Конкретными примерами будут Graphviz и Aisee.
Запрос координат узла (вершины) из одной из этих библиотек аналогичен запросу координат <P>
тег из HTML::TreeBuilder.
Есть пакет под названием Graph::Renderer
на CPAN, но выглядит очень неполно, поэтому я не решаюсь рекомендовать его. Но это может быть полезно для ваших нужд.
Graph:: Easy:: As_svg на самом деле выкладывает графики и может быть изменяемым в соответствии с вашими потребностями.