Подтвердить что ты не робот

Библиотека для рендеринга Directed Graphs (похожа на graphviz) на Google App Engine

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

Например:

Скрыть этот список ребер:

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

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

example image

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 3

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

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

Ответ 4

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

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