BirdEye is a community project to advance the design and development of a comprehensive open source information visualization and visual analytics library for Adobe Flex. It is an interesting open source AS3 library, but has little or no documentation. Since I’ve used it written some stuff about it, here it is.
Within BirdEye is RaVis: Relational Analysis (RaVis) Methods of analysing relationships, structures, and links among objects.
RaVis used to be flexvizgraphlib, which got integrated into BirdEye, and is at the time of writing the most advanced component. flexvizgraphlib is itself based on Spring Graph.
There is no official doc for RaVis or Birdeye, only some examples in their SVN. There is however a discussion group:
http://groups.google.com/group/flexvizgraphlib
RaVis is a powerful and well thought out library for rendering graphs, and I strongly suggest looking at it if you need to represent a graph. A couple of drawbacks, however:
– RaVis is strongly oriented towards using XML as a datasource for your graph. It’s possible to use another datasource, like a database, but you’ll have to jump through a few hoops to do it.
– The code for the actual Layout building seems a bit messy, and it’s difficult to adapt it. The subject isn’t easy, but an effort could be made to make things a bit more modular.
– as I said, no docs. Here are a few notes I took that might be of use to a RaVis newbie.
An explanation of a classic use of RaVis
The first thing you need is a VisualGraph. This is the object that you add to the stage, and that holds the displayed graph.
Around it are the following elements:
- An item renderer : the representation of a node
- an edge renderer : the representation of an edge
- an edge label renderer : the representation of an edge label. Why it is separate from the edge renderer is as yet unclear
- a graph : This holds the actual graph data, a collection of nodes and a collection of edges, without any information on their graphical representation
- a layouter : This creates the actual graph representation. The information concerning the graphical representation of the graph is held in a LayoutDrawing
The main steps on using these elements:
- create the graph holding the data you want to represent
- assemble the objects around the VisualGrpah and configure them.
- set the root node.
- draw!
by stetoscope
22 Aug 2008 at 10:20
Hi Ariel,
Keep on your track, I am sure you’ll help a lot of people through your blog. But I am afraid to not be able to participate a lot, since I am not a flex native…
C U
Pingback
by arielsommeria.com/blog/ » Blog Archive » On Technical Blogging : How Technical Should You Get?
19 Nov 2008 at 00:07
[…] I notice that most of my readers come to my blog for the only really technical post, the one about RaVis. Furthermore, they come through search engines, which thoughtfully direct them them to my blog when […]
by vinsu
05 Jul 2010 at 08:34
Hi Ariel,
Is it possible to use ‘nested XML’ as dataprovider in the RaVis graph visualization? If yes can you please explain how to use it?
by admin
05 Jul 2010 at 10:03
Hi,
My experience with RaVis is that you need to roll your own algo to build your graph. Admittedly I was using data coming from a database, but I remember finding that the XML method was flawed. So I’m sorry, but I can’t answer your question. You should try their mailing list though
Ariel