Search code examples
user-interfacedesign-patternsvisualizationtopology

Resources for programmatic rendering of topology maps


Do you know of any frameworks, APIs, languages, or other resources that are well-suited for drawing topology maps that allow a user to interact with objects on the map? I am not constrained by language choice and the program can be web-based, or stand-alone. I thought I would check before rolling my own.

My goal is not to draw cartographic maps, but more like this picture: http://www.fineconnection.com/files/images/GraphicalNM.PNG, or if you are familiar with Edward Tufte's books, the data-visualization mechanisms he describes such as a map of a metro or subway.

Also, if you have had any experience rendering these types of user interfaces or usage of underlying datastructures, I would be grateful to hear any thoughts you have on the subject, advice, any "gotchas."


Solution

  • You could look into "force directed graphs", which is the general term for graph placement algorithms which use a model of attraction for connected nodes and repulsion for unconnected nodes.

    If you search for any mainstream language and "graph layout" you're sure to find toolkits that implement this algorithm. Java has many including the Infovis Toolkit. There's a previous question about javascript implementations here, and even Boost includes functionality in their graph library.