Библиотека для рендеринга 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.
Ответы
Ответ 1
Canviz - это то, что вы ищете: это библиотека JavaScript для рисования графиков Graphviz на холсте веб-браузера. Он работает с большинством браузеров.
Использование Canviz имеет преимущества для вашего веб-приложения для создания и отправки растровых изображений и графических изображений в браузер:
- Серверу необходимо, чтобы Graphviz генерировал текст xdot; это быстрее, чем создание растровых изображений.
- В браузер должен быть перенесен только текст xdot; это меньше, чем данные двоичного изображения, и, если браузер поддерживает его (что больше всего подходит), текст может быть сжат gzip- или bzip2.
- Веб-браузер выполняет чертеж, а не сервер; это снижает нагрузку на сервер.
- Пользователь может изменять размер графика без необходимости привлечения сервера; это быстрее, чем при рисовании сервера и отправке графика в другом размере.
Чтобы увидеть это в действии, смотрите здесь.
Ответ 2
API графиков Google теперь поддерживает GraphViz экспериментально. (Обратите внимание, что весь проект графических карт официально устарел.)
Ответ 3
Я не думаю, что есть такая чистая библиотека python, лучше всего использовать NetworkX, он может рисовать, используя matplotlib или pygraphviz. Возможно, вы можете изменить код matplotlib networkx для рисования на стороне сервера, здесь - это код
Еще одна проблема заключается в том, что в google-приложении нет API-интерфейса для рисования, но вы можете просто использовать SVG для создания таких графиков или API-интерфейсы Google Maps уже есть.
Ответ 4
Вы можете взглянуть на flash-проект perfuse project, если просто нужно отобразить график и не включить его в качестве изображения. приемлемым.
У них есть некоторые примеры приложений библиотеки, такие как График зависимости.