Библиотека для рендеринга Directed Graphs (похожа на graphviz) на Google App Engine
Я ищу библиотеку Java или Python, которая может отображать графики на языке Dot в качестве файла изображения. Проблема в том, что мне нужна библиотека, которую я могу использовать в Google App Engine. В основном я ищу библиотеку, которая может преобразовать текстовое описание ориентированного графа в изображение графика.
Например:
Скрытый список краев:
[A,B] [B,C] [A,C] [C,D]
В этом изображении:
Я использовал Graphviz для этого примера, но я знаю, что использовать его с Google App Engine не представляется возможным.
- алгоритм для получения цикла в графе?
- Как создать граф с весом вершин в питоне с помощью igraph?
- построение задачи по лог-шкале в matplotlib в python
- Эквивалент Python для D3.js
- Остановить вершины от перекрытия друг друга при рисовании с помощью графического инструмента
Canviz – это то, что вы ищете: это библиотека JavaScript для рисования графиков Graphviz на холсте веб-браузера. Он работает с большинством браузеров .
Использование Canviz имеет преимущества для вашего веб-приложения для создания и отправки растровых изображений и изображений в браузер:
- Сервер должен только иметь Graphviz генерировать xdot текст; это быстрее, чем генерация растровых изображений.
- В браузер должен быть передан только текст xdot; это меньше данных двоичного изображения, и, если браузер поддерживает его (что больше всего подходит), текст может быть сжат gzip- или bzip2.
- Веб-браузер выполняет чертеж, а не сервер; это снижает нагрузку на сервер.
- Пользователь может изменять размер графика без необходимости привлечения сервера; это быстрее, чем при рисовании сервера и отправки графика в другом размере.
Чтобы увидеть это в действии, смотрите здесь .
API Google Chart теперь поддерживает GraphViz экспериментально . (Обратите внимание, что весь проект графических карт официально устарел.)
Вы можете взглянуть на проект, основанный на флеш- перфузии, если вам просто нужно отобразить график и не включить его в качестве изображения.
У них есть некоторые примеры приложений библиотеки, такие как этот график зависимостей .
Я не думаю, что есть такая чистая библиотека python, лучше всего использовать NetworkX , она может рисовать с помощью matplotlib или pygraphviz. Возможно, вы можете изменить код matplotlib networkx для рисования на стороне сервера, вот код
Другая проблема заключается в том, что в google-приложении нет API-интерфейса чертежа, но вы можете просто использовать SVG для создания таких графиков или API-интерфейсы Google.
- Явная позиция вершин в графическом инструменте python
- Добавление весов ребер и масштабирование длины вытянутых краев в графике
- Matplotlib: график нескольких отдельных графиков в цикле
- Python и изменчивость списка в алгоритме all-paths
- Как увеличить расстояние между узлами для networkx.spring_layout
- Графический инструмент: как получить доступ к свойствам?
- AttributeError при попытке сделать блок-раздел с помощью графического инструмента
- MCL-кластеризация.
- Поиск по краю по глубине