reaviz / reagraph

🕸 WebGL Graph Visualizations for React. Maintained by @goodcodeus.
https://reagraph.dev
Apache License 2.0
680 stars 67 forks source link

Combo layout of nesting Nodes #55

Open cliffordfajardo opened 2 years ago

cliffordfajardo commented 2 years ago

Feature Request

A option to nest nodes inside of other nodes using "Combos". I've only seen 2 libraries that allow this:

CleanShot 2022-01-10 at 19 20 40 This Gif is from the regraph library linked above

GIF from g6

This is from Linkcurious Ogma library

https://user-images.githubusercontent.com/6743796/183251975-e1d82470-e04b-44a8-ae16-4c26d13165d0.mp4

What is the motivation / use case for changing the behavior?

References

amcdnl commented 2 years ago

@cliffordfajardo - Would you say this is just 'clustering' with a 'container'?

amcdnl commented 2 years ago

Some code references: https://github.com/antvis/layout/blob/2bff433a2bd5c5b6612b87971f7ad99e566c4235/src/layout/force/force-in-a-box.ts

cliffordfajardo commented 2 years ago

@cliffordfajardo - Would you say this is just 'clustering' with a 'container'?

It appears to be clustering with container; to be honest, I hadn't dug into what underlying algorithm they used as I'm fairly new to the data visualization space

Curious, had you seen this concept of Combo before?

Practical Use Cases Examples ↓

Examples (click to expand) **1. Infrastructure visualization** - imagine you want to visualize your devices for your company - level1: combos at the root could represent data centers, when clicked you are shown more combos inside called clusters - level2: cluster combos can contain individual nodes **2. Country Data Visualization** - Countries -> Regions -> Cities -> Individuals **3. Social Network Analysis** ![CleanShot 2022-07-26 at 08 30 47@2x](https://user-images.githubusercontent.com/6743796/181047960-d72f9e82-d80a-46e8-9f79-3de4f673a6c7.png)
amcdnl commented 2 years ago

@cliffordfajardo - Ya, I have a use case for it too ( cyber-security network graphs ).

I'm interested in doing it, if you wanna take a stab at it feel free, otherwise its going to be quite a bit of work so not sure when i'll be able to do it but i'm interested.

amcdnl commented 1 year ago

We added clustering with group elements around it. The nested nested is a little tricky though.