almende / vis

⚠️ This project is not maintained anymore! Please go to https://github.com/visjs
7.85k stars 1.48k forks source link

hyperbolic view of network graph #652

Open rcrath opened 9 years ago

rcrath commented 9 years ago

I find hyperbolic network graphs especially helpful for dealing with large datasets in directed and undirected graphs. the idea is to map the graph on a curved space like a fisheye lense in photography. the center is larger and as you view things further from the center they recede into smaller sizes, usually two or three degrees are clearly legible but beyond that they fade into visual obscurity, but the "angle" of the lens can be set to show more or less degrees (assuming equidistant nodes on a directed graph). by dragging things from the outskirts to the center, the obscured data becomes visible. There are libraries out there, such as the java library hypergraph, but it would be great to see it worked into the networking dunctionality of vis. The result is a much less cluttered graph for networks with many nodes while still retaining legibility that is lost when zooming out on a cartesian (flat) space graph.

AlexDM0 commented 9 years ago

Hi rcrath,

I'm not sure what you mean exactly, do you have some examples? I've googled around a little and there is a great many different graphs with these terms. You can set the mass of certain nodes as well as their value to get a better overview is cases with many nodes.

Regards,

Alex

rcrath commented 9 years ago

The best example I could find is: http://mfellmann.net/wi/

it is a java applet. sorry for pita. the java source for the map is here: http://hypergraph.sourceforge.net/download.html

AlexDM0 commented 9 years ago

That was a pain in the ass...

The vis network currently relies on a physics simulation to sort out the nodes. Judging by the difference in approach, I don't think this would make it into vis any day soon.

The first item on our roadmap for the network is rewriting the clustering algorithms, then we want to fully modularise the network along with an overhaul of the options and the documentation to go along with this.

Once these steps are finished, it may be a lot easier for the community to implement their own solutions. For now though, I don't expect this will be implemented.

Regards,

Alex

rcrath commented 9 years ago

Hi, Sorry about the ancient java versions. I found some much easier to use javascript versions. Including one from infovis library. Is that related to yours?

Excellent for visualization. should be part of VUE #73).

Here is a wikipedia article explaining them THese are all javascript.

AlexDM0 commented 9 years ago

Hi Rcrath,

vis is not related to infoviz. We are currently busy with the development of 4.0. The 4.0 release is a very big one for network specifically. After that, it might become easier for other to expand upon the code. Who knows, maybe it will be added to vis in the future but for now I cannot promise anything.

Regards,

Alex

rcrath commented 9 years ago

Thanks Alex. I will keep an eye out, and if I can figure out a way to find someone to contribute to the code I will. Best wishes for 4.0!

tobibeer commented 7 years ago

Here's a visual representation of what we're after with a hyperbolic tree representation, that better focuses on a central spot https://www.youtube.com/watch?v=pwpze3RF55o while easily and fluifly navigating around.

rcrath commented 7 years ago

@tobibeer or anyone interested, If you can come up with a win 95 or 98 virtual machine, I might still have a copy of Inxight , the hyperbolic browser in the demo. LMK if interested! I was crushed when support for this failed after win 98. It was my main file explorer. The javascript versions are no doubt easier to work with, but the app had some really cool well thought out features (mostly demoed in the video: quick resizing of the fisheye, center point, edge size, and node size, acting as a browser to open files or web links, intelligent refocus to name my favs)