elastic-charts icon indicating copy to clipboard operation
elastic-charts copied to clipboard

Support for Network Diagram charts

Open superermiao opened this issue 2 years ago • 3 comments

Add support for new Network Diagram chart type as defined below.

Description Also known as Network Graph, Network Map, Node-Link Diagram.

This type of visualisation shows how things are interconnected through the use of nodes / vertices and link lines to represent their connections and help illuminate the type of relationships between a group of entities.

Typically, nodes are drawn as little dots or circles, but icons can also be used. Links are usually displayed as simple lines connected between the nodes. However, in some Network Diagrams, not all of the nodes and links are created equally: additional variables can be visualised, for example, by making the node size or link stroke weight proportion to an assigned value.

By mapping out connected systems, Network Diagrams can be used to interpret the structure of a network through looking for any clustering of the nodes, how densely nodes are connected or by how the diagram layout is arranged.

The two notable types of Network Diagram are "undirected" and "directed". Undirected Network Diagrams only display the connections between entities, while directed Network Diagrams show if the connections are one-way or two-way through small arrows.

Network Diagrams have a limited data capacity and start to become hard to read when there are too many nodes and resemble "hairballs". image

Example usage as a service map.

image

superermiao avatar Jul 04 '22 11:07 superermiao

@superermiao We unfortunately do not yet support this type of chart. I updated your description with some more details, feel free to add anything you'd like.

nickofthyme avatar Jul 06 '22 15:07 nickofthyme

Thanks for the request, is definitely an interesting visualization but is also a very vast in terms of details, layout, interactions and rendering capabilities. There are various libraries that I've tried in the past, from SigmaJS (recently revamped) to Cytoscape cc @dej611 that is our graph expert probably know more about the complexity and intricacy of building our own graph visualization

markov00 avatar Jul 06 '22 15:07 markov00

...but is also a very vast in terms of details, layout, interactions and rendering capabilities. There are various libraries that I've tried in the past, from SigmaJS (recently revamped) to Cytoscape

That is very true. Perhaps it may make sense to understand what scope it should have to build a custom network visualization component: should it target larger networks (a-la Sigma.js) or more features (like Cytoscape.js)? Also, what type of layout would it make sense to bundle vs how much customization should be let to the developer? I would be more than happy to discuss the topic if it becomes relevant and required here.

dej611 avatar Jul 06 '22 15:07 dej611

Closing this because it's not planned to be resolved in the foreseeable future. It will be tracked in our Icebox and will be re-opened if our priorities change. Feel free to re-open if you think it should be melted sooner.

markov00 avatar May 07 '24 07:05 markov00