在Google App Engine上渲染有向图的库(类似于graphviz)
我在找一个可以把Dot语言的图形渲染成图片文件的Java或Python库。问题是,我需要一个可以在Google App Engine上使用的库。简单来说,我想要一个能把有向图的文字描述转换成图像的库。
举个例子:
把这个边列表:
[A,B]
[B,C]
[A,C]
[C,D]
转换成这个图片:
我用的是Graphviz来做这个例子,但我知道在Google App Engine上用它是不行的。
4 个回答
12
谷歌图表API现在实验性地支持GraphViz这个工具。你可以在这里查看相关信息(注意,整个图像图表项目已经正式停止更新了)。
19
Canviz 是你需要的工具:它是一个用来在网页上绘制 Graphviz 图形的 JavaScript 库。它可以在 大多数浏览器 上使用。
使用 Canviz 对你的网页应用有几个好处,相比于生成和发送位图图像和图像地图到浏览器:
- 服务器只需要让 Graphviz 生成 xdot 文本;这比生成位图图像要快。
- 只需要把 xdot 文本传输到浏览器;这个文本比二进制图像数据要小,而且如果浏览器支持(大多数都支持),这个文本可以进行 gzip 或 bzip2 压缩。
- 绘图的工作由网页浏览器来完成,而不是服务器;这减轻了服务器的负担。
- 用户可以自己调整图形的大小,而不需要服务器的参与;这比让服务器重新绘制并发送不同大小的图形要快。
想看看它是怎么工作的,可以点击这里。