Библиотека для рендеринга Ориентированных графов (подобный graphviz) на Google App Engine

Я ищу библиотеку Java или Python, которая может представить графики на языке Dot как файл изображения. Проблема состоит в том, что мне нужна библиотека, которой я могу пользоваться на Google App Engine. В основном я ищу библиотеку, которая может преобразовать текстовое описание ориентированного графа в изображение графика.

Например:

Тайный этот граничный список:

[A,B]
[B,C]
[A,C]
[C,D]

В это изображение:

example image

Я использовал Graphviz для этого примера, но я знаю, что для меня не возможно использовать его с Google App Engine.

19
задан trashgod 15 February 2010 в 11:41
поделиться

4 ответа

Canviz - это то, что вы ищете: это библиотека JavaScript для рисования графиков Graphviz на холсте веб-браузера. Он работает с большинством браузеров .

Использование Canviz имеет преимущества для вашего веб-приложения по сравнению с генерацией и отправкой растровых изображений и карт изображений в браузер:

  • Серверу достаточно, чтобы Graphviz генерировал текст xdot; это быстрее, чем создание растровых изображений.
  • В браузер необходимо передать только текст xdot; это меньше, чем данные двоичного изображения, и, если браузер поддерживает это (что делает большинство), текст может быть сжат с помощью gzip или bzip2.
  • Отрисовку выполняет веб-браузер, а не сервер; это снижает нагрузку на сервер.
  • Пользователь может изменять размер графа без необходимости задействовать сервер; это быстрее, чем когда сервер рисует и отправляет график другого размера.

Чтобы увидеть это в действии, посмотрите здесь .

18
ответ дан 30 November 2019 в 04:07
поделиться

Я не думаю, что существует такая чистая библиотека Python, лучшее, что вы можете сделать, это использовать NetworkX , он может рисовать с помощью matplotlib или pygraphviz. Возможно, вы можете изменить код matplotlib networkx для рисования на стороне сервера, здесь - это код

Другая проблема заключается в том, что движок приложений Google не имеет API рисования, но вы можете просто использовать SVG для создания таких графиков или, может быть, API диаграмм Google уже что-то там есть.

0
ответ дан 30 November 2019 в 04:07
поделиться

Вы можете взглянуть на проект perfuse на основе флэш-памяти, если вам просто нужно отобразить график. и его отсутствие в качестве изображения приемлемо.

У них есть несколько примеров приложений библиотеки, таких как График зависимостей .

0
ответ дан 30 November 2019 в 04:07
поделиться

Google Charts API теперь экспериментально поддерживает GraphViz . (Обратите внимание, что проект Image Charts полностью объявлен устаревшим.)

12
ответ дан 30 November 2019 в 04:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: