ASE Home Page Products Download Purchase Support About ASE
ChartDirector General
Forum HomeForum Home   SearchSearch

Message ListMessage List     Post MessagePost Message

  Link Charts and Treemaps
Posted by Jason on Apr-26-2010 03:47
Hello,

I love having the ability CD gives me to create just about any kind of chart I want, but a couple charts I would like to be able to create with CD are Link Graphs similar to what AfterGlow can create, and Treemaps.  Can you say if any of those are planned for a future release?  If not, hopefully they will be added someday.

Thanks,
Jason

http://afterglow.sourceforge.net/
http://en.wikipedia.org/wiki/Treemapping

  Re: Link Charts and Treemaps
Posted by Peter Kwan on Apr-26-2010 18:21
Hi Jason,

Currently, we do not have any plan for "linked graphs" (planar graphs formed by connecting nodes with lines, such as a network diagram, traffic map, organization chart, flow chart, etc). These types of graphs are of a different category from the charts ChartDirector is currently focused on, and are usually created with software specialized for those type of charts.

For the Treemap, we are planning it in a future version of ChartDirector, but we cannot commit on a schedule yet.

In the mean time, to do the above chart, ChartDirector currently can only act as the graphics library for drawing the lines, text and shapes. That means some other code would need to layout the nodes first, before asking ChartDirector to draw them.

Regards
Peter Kwan

  Re: Link Charts and Treemaps
Posted by Ron on May-14-2010 02:39
I myself would loooove to see linked graphs part of ChartDirector.
We love the simplicity of ChartDirector's way of creating graphs, and linked graphs are
essential for us now. We were looking for a tool that can help us render those like
ChartDirector does, but couldn't find anything as friendly. Shame to hear that it is not on
the current roadmap.
We thought about using it as the drawing engine, but the complexity of deciding what to
place where, is the bit we are not currently know.
If anyone else dealt with that or knows of systems that can help graph it, we would love to
know.

  Re: Link Charts and Treemaps
Posted by Ron on May-14-2010 02:45
By the way, if already on the subject, if one did want to create its own drawing system for
those... what is the best way to draw a a line, an arrow and a two directional arrow? and
can or how do we control the thickness/size/color/style of the line or arrowhead?

  Re: Link Charts and Treemaps
Posted by Peter Kwan on May-15-2010 01:22
Hi Ron,

You may use the DrawArea object in ChartDirector to draw things like lines, shapes (polygons, circles, rectangles) and text.

The DrawArea.line allows to to draw a line with arbitrary line width, color and line style.

To draw a line with an arrow, you would need to draw a triangle at the end of the line (or you may use other arrow shapes if you like).

Hope this can help.

Regards
Peter Kwan

  Re: Link Charts and Treemaps
Posted by Ron on May-16-2010 08:09
Attachments:
Indeed :)
And here is the result thus far :)

Took some work.. wasn't too easy, but not too bad.
Made use of perl's Graph module (Graph::Layout::Aesthetic::Force) and clever use of both
scatter graphs and direct drawArea manipulation.. (I think it kicks major ass, but maybe I'm biased? ;))
Though we are still experimenting with it (design/features), one thing that would be nice is using splines
instead of lines in some cases.

Question is... IS THERE A WAY to draw a spline instead of a regular line?

If not, it would be a really killer tool for anyone who wants to go beyond the standard/basic  graphing like we
did here. What do you think?
graph.png

  Re: Link Charts and Treemaps
Posted by Peter Kwan on May-17-2010 22:45
Hi Ron,

Your chart is very beautiful. The layout looks good.

I see that you are using high level features (XYChart layers) as well. At the XYChart level, you can use a spline layer to create spline curves.

To define a spline curve, you need at least 4 points. ChartDirector will draw a curve that passes through all 4 points. If your would like to most natural curve that can flow in any arbitrary direction (not just from left to right or right to left), you may want to use SplineLayer.setMonotonicity to set the curve to MonotonicNone.

Hope this can help.

Regards
Peter Kwan

  Re: Link Charts and Treemaps
Posted by Ron on May-18-2010 00:21
Attachments:
Hi Peter
Yes. We thought of using a spline layer for this. Haven't tried yes, but glad to hear its
attainable.
We have since advanced the graph a little more :)
Below are some examples, including various types of networks and out-degree highlighting
(thin & thick)
graph.0.png
graph.1.png

  Re: Link Charts and Treemaps
Posted by Ron on May-18-2010 00:26
Attachments:
and two more
graph.2.png
graph.3.jpg

  Re: Link Charts and Treemaps
Posted by Mark R. on Jun-11-2010 03:02
Ron, those are amazing!

Sure wish there was a C++ product / library that could produce something similar. Anybody know of one?

  Re: Link Charts and Treemaps
Posted by Fredrik on Sep-16-2010 15:30
Might any of these be of any use to you.

http://graphsharp.codeplex.com/ in C#
http://www.graphviz.org/ in C/C++
http://www.ogdf.net/ogdf.php/start in C++
http://www.graphviz.org/Documentation/TSE93.pdf