An Interactive Web Application for Visualization of Network Clustering and Hierarchical Data
- Graphs are powerful tools for representation of hierarchies and relations in data
- Graph clustering and representation techniques are attractive fields for decades, even more so, the large networks and hierarchies challenge remains
- Graphs help us better understand data of almost any kind, since all real-world domain data contains some sort of connections and orders within
Networks:
- Networks often have millions of nodes
- Hard to visualize
- User can be interested only in “important” parts of the network
Hierarchies:
- Usually represented using a dendogram
- All leaf nodes are shown
- User can have better overview when only one part of hierarchy can be shown
NetHi is a web application implemented using Dash (https://dash.plotly.com) There are three parts of the application:
- Setup (uploading dataset, selecting algorithm, selecting attributes and clustering)
- Visualization (selecting layout, navigating through the data)
- Report (clustering report, graph report)
NETWORKS
- Louvain community detection
- Spring layout coordinates computation and translation
- Graph construction (community nodes, virtual community nodes connected to all community nodes)
HIERARCHIES
- Agglomerative clustering
- Creating hierarchical structure
- Graph construction (adding sub-cluster nodes and connecting them to the leaf nodes)
VISUALIZATION
- Dash Cytoscape
- Coloring with matplotlib.cm5
- Expanding and collapsing
- Node information presentation on hover
Architecture of the solution resembles MVC architecture in a following way:
- Upload a dataset (either network or hierarchical data)
- Select the type of clustering
- Select attributes you want to use
- Click on "CLUSTER" button
- Click on "CREATE VISUALIZATION" (6. Click on "EXPAND GRAPH" if you want to see the whole graph)