Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic How to make large diagrams more readable without using Anneal layout (Read 8863 times)
MaFo
YaBB Newbies
*
Offline


SharePoint Developer

Posts: 5
Location: Sweden
Joined: Sep 14th, 2011
How to make large diagrams more readable without using Anneal layout
Nov 6th, 2013 at 6:55am
Print Post  
Hi!

We have an issue rendering diagrams so that they are not so crowded and hard to read, see attached pictures using Composite and Spring layout.
Anneal layout will give us a better more readable result but the performance is often so slow that it becomes unusable (many diagrams are quite large).

Is there a way to allow the diagram to "strech out" more so the nodes are not added so close to each other? Scrolling in the diagram would not be an issue, we are using the overview and zoom functionality.

Whats not showing in the attached pictures is that all links have a name/text attached to it. This text also takes up some space and makes the diagram cluttered and unreadable.

Hope you can give me some suggestions!

Regards,
Magnus
  

Composite-Layout-crowded.png (Attachment deleted)
Spring-Layout-crowded.png (Attachment deleted)
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: How to make large diagrams more readable without using Anneal layout
Reply #1 - Nov 6th, 2013 at 9:54am
Print Post  
Hi,

If your diagrams are trees and have nodes of varying size, you will get best results using the FractalLayout class. With SpringLayout you could try setting larger RepulsionFactor, and setting NodeDistance to a value larger than the maximum of your nodes' width/height.

For links' text legibility, try using LinkLabel objects with AutoArrange set to true, instead of setting their Text property. AutoArrange should place labels at locations where they do not overlap nodes or other labels.

I hope that helps,
Stoyan
  
Back to top
 
IP Logged
 
MaFo
YaBB Newbies
*
Offline


SharePoint Developer

Posts: 5
Location: Sweden
Joined: Sep 14th, 2011
Re: How to make large diagrams more readable without using Anneal layout
Reply #2 - Nov 6th, 2013 at 10:28am
Print Post  
Hi,

Thanks for a quick response!

We're using a version from august 2011 so i suppose FractalLayout, LinkLabel and AutoArrange are included in a later release?

Setting the RepulsionFactor and NodeDistance in the SpringLayout has some effect but nodes and links overlap.

Regards,
Magnus
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: How to make large diagrams more readable without using Anneal layout
Reply #3 - Nov 6th, 2013 at 12:19pm
Print Post  
Hi,

FractalLayout was added in early 2012:
http://mindfusion.eu/Forum/YaBB.pl?num=1326120373

Check if you don't have that version on your account page at http://clientsarea.eu/ in case you had an active maintenance then.

SpringLayout ignores node sizes, and AnnealLayout does not, which is a part of why the latter is slower. You could try running some SpringLayout iterations to quickly create a rough arrangement, followed by a few AnnealLayout iterations started with lower InitialTemperature and Randomize set to false - so that the anneal iterations decrease the overlaps created by spring iterations.

I hope that helps,
Stoyan
  
Back to top
 
IP Logged
 
MaFo
YaBB Newbies
*
Offline


SharePoint Developer

Posts: 5
Location: Sweden
Joined: Sep 14th, 2011
Re: How to make large diagrams more readable without using Anneal layout
Reply #4 - Nov 6th, 2013 at 1:51pm
Print Post  
Hi,

How do you mean SpringLayout iterations, could you show some examples?

I tried putting different node types into different diagram item collections and rendering each collection with either Anneal or Spring layout but the nodes end up on top of each other.

//Magnus
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: How to make large diagrams more readable without using Anneal layout
Reply #5 - Nov 7th, 2013 at 7:30am
Print Post  
Hi,

SpringLayout and AnnealLayout are iterative algorithms, each subsequent iteration refining the arrangement from previous one. By running some iterations, I meant set SpringLayout.IterationCount and call Arrange, e.g. try this as experiment:

Code
Select All
spring.IterationCount *= 2/3;
spring.Arrange(diagram);

anneal.Randomize = false;
anneal.InitialTemperature /= 3;
anneal.Stages /= 3;
anneal.Arrange(diagram); 



I.e. you start with SpringLayout iterations, and at some point switch to AnnealLayout. You could as well try running only AnnealLayout, but with fewer Stages or IterationsPerStage to make it faster, it could still work if your graphs are not very dense.

I hope that helps,
Stoyan
  
Back to top
 
IP Logged
 
MaFo
YaBB Newbies
*
Offline


SharePoint Developer

Posts: 5
Location: Sweden
Joined: Sep 14th, 2011
Re: How to make large diagrams more readable without using Anneal layout
Reply #6 - Nov 15th, 2013 at 9:36am
Print Post  
Hi,

The FractalLayout was an improvement, thanks! The links are too short in some cases though. Is there a way to make them longer?

Regards,
Magnus
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: How to make large diagrams more readable without using Anneal layout
Reply #7 - Nov 15th, 2013 at 12:07pm
Print Post  
Hi,

The distance between nodes depends only on their size, with the layout class arranging child branches as close as possible around their parent without overlaps. The only way to pull nodes further away at this time is to temporarily make parent nodes larger before calling Arrange, and restoring their size afterwards.

I hope that helps,
Stoyan
  
Back to top
 
IP Logged
 
MaFo
YaBB Newbies
*
Offline


SharePoint Developer

Posts: 5
Location: Sweden
Joined: Sep 14th, 2011
Re: How to make large diagrams more readable without using Anneal layout
Reply #8 - Nov 19th, 2013 at 6:21am
Print Post  
Hi,

Temporarily making the nodes larger did the trick. The diagram looks really good now. Thanks for your help!

Regards,
Magnus
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint