Force Atlas squares off

Algorithms and parameters to put data in space
cdexter
Posts:4
Joined:13 Dec 2011 19:55
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Force Atlas squares off

Post by cdexter » 15 Dec 2011 00:01

Hi,
I have been letting run Force Atlas for about 48 hours on a weighted directed graph (11k nodes, 40K edges).
when I stopped it, I found the nodes arranged in a square layout (see attached image).

I don't see any particular reason why this should be the case.
Is that an artifact of the algorithm or some kind of limitation/bug?

Thanks for your help.
ScreenHunter_01 Dec. 14 14.50.gif

User avatar
mbastian
Gephi Architect
Posts:728
Joined:10 Dec 2009 10:11
Location:San Francisco, CA
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Force Atlas squares off

Post by mbastian » 15 Dec 2011 08:32

You reached the maximum boundary of the visualization. This is designed to avoid nodes to go to infinite and have then NaN values. You should reduce repulsion to have a more contracted layout and play on node sizes.

pegerp
Posts:124
Joined:21 Dec 2011 17:10
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Force Atlas squares off

Post by pegerp » 21 Dec 2011 17:25

I had this same problem with Force Atlas 2 on Gephi 0.8 alpha.

The latest Force Atlas 2 in Gephi 0.8 beta has "stronger gravity" setting. Enabling stronger gravity and lowering gravity to a low value (eg. 0.001) provided good results for me. With the previous version of FA2 it was quite impossible to get the layout settle so that it wouldn't be collapsed in the center or wouldn't square off at the borders.

I've tested the FA2 with graphs of 50k-200k nodes and 100k-2M edges. It's nice that FA2 is very fast with Barnes-Hut optimization (Approximate repulsion).

kenshiro
Posts:4
Joined:21 Dec 2011 11:22
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Force Atlas squares off

Post by kenshiro » 13 Jan 2012 17:06

pegerp wrote:I had this same problem with Force Atlas 2 on Gephi 0.8 alpha.

The latest Force Atlas 2 in Gephi 0.8 beta has "stronger gravity" setting. Enabling stronger gravity and lowering gravity to a low value (eg. 0.001) provided good results for me. With the previous version of FA2 it was quite impossible to get the layout settle so that it wouldn't be collapsed in the center or wouldn't square off at the borders.

I've tested the FA2 with graphs of 50k-200k nodes and 100k-2M edges. It's nice that FA2 is very fast with Barnes-Hut optimization (Approximate repulsion).
Hey! how long did it take you to process such amount of data and get a nice result visually? I seem to not be able to get anything really nice visually... So I'm wondering if my parameters are wrong... My network is unweighted (weight 1 for all edges), does edge weight influence have to be at 0? also I have scaling at 10.0 and put gravity 0.001 such as you suggested...also enabled approximate repusion for large graphs.

pegerp
Posts:124
Joined:21 Dec 2011 17:10
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Force Atlas squares off

Post by pegerp » 15 Jan 2012 20:48

kenshiro wrote:
pegerp wrote:I've tested the FA2 with graphs of 50k-200k nodes and 100k-2M edges. It's nice that FA2 is very fast with Barnes-Hut optimization (Approximate repulsion).
Hey! how long did it take you to process such amount of data and get a nice result visually?
I let FA2 run for several hours or occasionally over night. However it usually takes less than an hour to see whether the network is going to become visually pleasing. Then rest of the computation time goes to fine tuning the network structure.

Here's the network: http://i.imgur.com/bBTxU.png

Edges are weighted. I haven't tested how the network would look like when using unweighted layout. I have a feeling that using weighted edges makes the layout much easier to construct. Obviously if your network can't have any reasonable weights then there's not much to do. I found good parameters by trial and error.

User avatar
mbastian
Gephi Architect
Posts:728
Joined:10 Dec 2009 10:11
Location:San Francisco, CA
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Force Atlas squares off

Post by mbastian » 15 Jan 2012 21:25

does edge weight influence have to be at 0?
If your edges' weight are all at 1, you don't have to worry about edge influence.
Here's the network: http://i.imgur.com/bBTxU.png
That's a beautiful visualization. Do you mind uploading a higher resolution? It would be nice on our flickr.

kenshiro
Posts:4
Joined:21 Dec 2011 11:22
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Force Atlas squares off

Post by kenshiro » 16 Jan 2012 14:21

Thank you for your replies... One last question: What do you use for : Disuade Hubs, LinLog mode and Prevent Overlap? Of course for the nice graph you showed us ;)

pegerp
Posts:124
Joined:21 Dec 2011 17:10
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Force Atlas squares off

Post by pegerp » 16 Jan 2012 17:51

kenshiro wrote:Thank you for your replies... One last question: What do you use for : Disuade Hubs, LinLog mode and Prevent Overlap? Of course for the nice graph you showed us ;)
I've noticed that LinLog mode without "dissuade hubs" works the best for the large networks that I've processed. However I can imagine situations in which using other parameters might be better. With smaller networks lin-lin (disable LinLog) mode has sometimes been better.

Here's a larger screenshot of the network, http://i.imgur.com/I4KXO.jpg. Network depicts Steam community groups. Groups are close together if they share lots of same users. Large nodes have the highest member count (highest being about 1M players).

admin
Gephi Community Manager
Posts:964
Joined:09 Dec 2009 14:41
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Force Atlas squares off

Post by admin » 16 Jan 2012 18:19

Great! Will it be published on the Web or in a journal?

pegerp
Posts:124
Joined:21 Dec 2011 17:10
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Force Atlas squares off

Post by pegerp » 16 Jan 2012 19:40

On a web probably. I'm working on to make the map zoomable via Google Maps API. However it requires rendering pieces of the network in 256x256 tiles and all that HTML + CSS + JS stuff. I'll keep you posted if there is progress.

I don't think the visualization itself is too informative although it looks nice. Getting a nice visualization is quite good indication that there is some "hidden" information. That's the next goal, to get the Google Maps implementation to be actually usable with the nice visualization. That way it'd be possible to search for something and see how it is intuitively positioned on the vast map.

I've also tested the Toolkit which is great for automating stuff like this for other similar networks. Great work on the Gephi project altogether.

Post Reply
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable