elastic-charts
elastic-charts copied to clipboard
Support for Network Diagram charts
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".
Example usage as a service map.
@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.
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
...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.
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.