WouterSpekkink wrote: ↑25 Mar 2015 13:28
I'm not sure if people are still following this post. The problem that you are addressing is actually quite challenging, because it is not always possible to position a larger number of nodes in a way that their respective distances (in terms of the weight of their relationships) are accurately represented in their layout. Say that you have three nodes: A, B, and C. Let's assume that the weight of their relationships represents their distance. If A and B have weight 10, A and C have weight 1, and B and C have weight 1 as well, then it is impossible to come up with a 2-dimensional layout that respects all these distances equally. A wants to be close to C and B also wants to be close to C, but A and C want to be far apart.
I recently wrote a duo of plugins for Gephi that use the path distances between nodes to determine their layout (MDS Statistics and MDS Layout) : the longer the path distances between two nodes, the further apart these nodes tend to be in the layout. It also allows you to take into account the weights of the edges between nodes (higher weights lead to shorter distances). The effect of this procedure is much the same as that of the Force Atlas 2 Layout. To some extent they are based on similar principles. However, the MDS analysis also gives you a measure of stress, which indicates how well the layout corresponds with the actual distances between the nodes. Thus, it would even be possible to come up with a layout for the example that I discussed above (with the A, B and C), but the layout would be associated with a high value of stress, which indicates that the layout is far from ideal given the actual distances. In the near future I plan to add an option to treat edge weights as distances (the higher the weight, the longer the distance). I think this will be interesting, for example, for networks where actual geographical distances between nodes are used as edge weights. This shouldn't taken much time to make. I think it's just a minor addition to the plugin as it already exists.
I have a concern similar to this topic so maybe you can help me out: