Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Library to render Directed Graphs (similar to graphviz) on Google App Engine

I am looking for a Java or Python library that can render graphs in the Dot language as image file. The problem is that I need a library that I can use on Google App Engine. Basically I am looking for a library that can convert the text description of a directed graph into an image of the graph.

For example:

Covert this edge list:

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

Into this image:

example image

I used Graphviz for this example, but I know it is not possible for me to use it with Google App Engine.

like image 742
rsideb Avatar asked Feb 15 '10 05:02

rsideb


2 Answers

Canviz is what you are looking for: it is a JavaScript library for drawing Graphviz graphs to a web browser canvas. It works with most browsers.

Using Canviz has advantages for your web application over generating and sending bitmapped images and imagemaps to the browser:

  • The server only needs to have Graphviz generate xdot text; this is faster than generating bitmapped images.
  • Only the xdot text needs to be transferred to the browser; this is smaller than binary image data, and, if the browser supports it (which most do), the text can be gzip- or bzip2-compressed.
  • The web browser performs the drawing, not the server; this reduces server load.
  • The user can resize the graph without needing to involve the server; this is faster than having the server draw and send the graph in a different size.

To see it in action, look here.

like image 188
BioGeek Avatar answered Oct 01 '22 17:10

BioGeek


Google Charts API now supports GraphViz experimentally. (Note that the entire Image Charts project is officially deprecated.)

like image 26
Joseph Weissman Avatar answered Oct 01 '22 15:10

Joseph Weissman