bhargavchippada / forceatlas2

Fastest Gephi's ForceAtlas2 graph layout algorithm implemented for Python and NetworkX
GNU General Public License v3.0
280 stars 80 forks source link

Multivariate layout #14

Open Make42 opened 5 years ago

Make42 commented 5 years ago

As far as I understand the layout returns for each node in the graph a 2d-vector. I would like to provide the number of dimensionality of the vectors and get this as a result. In other words, I would like to layout my graph in N dimensional coordinate space. Obviously I will not be able to display the result on a 2D screen, but that would be okay, since I would like to use the result in further analysis steps. How can I adapt your algorithm to provide this feature?

bhargavchippada commented 4 years ago

@Make42 Sorry for the late reply, there is a 3D version of the algorithm and it must be an extension of the 2D layout algorithm. But I seem to remember reading in the paper somewhere that this algorithm might not scale to higher dimensions. I need to verify this claim again.

Make42 commented 4 years ago

@bhargavchippada Could you tell me which paper you are talking about and provide a link if possible?

bhargavchippada commented 4 years ago

@Make42 I found that somebody implemented a ndim forceatlas algorithm here, not sure if it's valid to do this for > 3, you can check out how they did it. I created a milestone for this, especially to implement for 3D positions and extend it to n_dim.

I am unable to find the place where I read what I was talking about earlier. Probably, the idea is that this algorithm is built/tuned for 2D & 3D visualizations so extending it to higher dimensions may not give valid results which makes sense. you cannot visualize them but maybe use as features elsewhere to see if they are making sense, this is a nice experiment. A similar request -> #3