Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Graph/Network Visualization Data model: graph structures (relations, knowledge) and networks. Applications: – – – – – – – Telecommunication systems, Internet and WWW, Retailers’ distribution networks knowledge representation Trade Collaborations literature citations, etc. 1 What is a Graph? Vertices (nodes) Edges (links) 1 2 3 1 0 1 0 2 1 0 1 3 0 1 0 Adjacency matrix Adjacency list 1: 2 2: 1, 3 3: 2 1 2 3 Drawing 2 1 Graph Terminology Graphs can have cycles Graph edges can be directed or undirected The degree of a vertex is the number of edges connected to it – In-degree and out-degree for directed graphs Graph edges can have values (weights) on them (nominal, ordinal or quantitative) 3 Trees are Different Subcase of general graph No cycles Typically directed edges Special designated root vertex Spring 2002 CS 7450 4 2 Issues in Graph visualization Graph drawing Layout and positioning Scale: large scale graphs are difficult Navigation: changing focus and scale 5 Vertex Issues Shape Color Size Location Label 6 3 Edge Issues Color Size Label Form – Polyline, straight line, orthogonal, grid, curved, planar, upward/downward, ... 7 Aesthetic Considerations Crossings -- minimize number of edge crossings Total Edge Length -- minimize total length Area -- minimize towards efficiency Maximum Edge Length -- minimize longest edge Uniform Edge Lengths -- minimize variances Total Bends -- minimize orthogonal towards straight-line 8 4 Graph drawing optimization 3D-Graph Drawing 5 Graph visualization techniques Node-link approach – Layered graph drawing (Sugiyama) – Force-directed layout – Multi-dimensional scaling (MDS) Adjacency Matrix Attribute based approach 11 Sugiyama (layered) method Suitable for directed graphs with natural hierarchies: All edges are oriented in a consistent direction and no pairs of edges cross 6 Sugiyama : Building Hierarchy Assign layers according to the longest path of each vertex Dummy vertices are used to avoid path across multiple layers. Vertex permutation within a layer to reduce edge crossing. Exact optimization is NP-hard – need heuristics. Sugiyama : Building Hierarchy 7 Force directed graph layout No natural hierarchy or order Based on principles of physics The Spring Model Using springs to represent node-node relations. Minimizing energy function to reach energy equilibrium. Initial layout is important Local minimal problem 8 Network of character co-occurrence in Les Misérables 9 Multi-dimensional Scaling Dimension reduction to 2D Graph distance of two nodes are as close to 2D Euclidean distance as possible MDS is a global approach Distance between two nodes: shortest path (classical scaling). Weighted distances ( , , w , , , MDS for graph layout 10 Other Node-Link Methods Orthogonal layout – Suitable for UML graph Radial graph – Often used in social networks Nested graph layout – Apply graph layout hierarchically – Suitable for graphs with hierarchy Arc Diagrams Arc Diagram Les Misérables character relations 11 Arc Diagram EU Financial Crisis: http://www.bbc.co.uk/news/business-15748696 12 Summary: Node-Link Pros – Intuitive – Good for global structure – Flexible, with variations Cons – Complexity >O(N2) – Not suitable for large graphs Adjacency Matrix matrix, for a graph with N nodes. (i, j) position represent the relationship of the ith node and jth node. – 13 Adjacency Matrix Edge weight Directional edges Sorting: node order Path searching and path tracking ? 28 14 Node Order Path Tracking 15 Adjacency matrix summary Avoid edge crossing, suitable for dense graphs Visually more scalable Visualization is not intuitive Hard to track a path MatLink 16 Hybrid Layout Using adjacency matrix to represent small communities Node-link for relationships between communities NodeTrix 17 GMap Visualizing graphs and clusters as geographic maps to represent node relations (geographic neighbors) Topological graph simplification Reducing amount of data – Reducing nodes: clustering – Reducing edges: minimal spanning tree – Edge bundling Problems: – Loss of data 18 Clustering Edge Bundling 19 Force Directed Edge Bundling Edges are modeled as flexible springs that are able to attract each other. Geometry Based Edge Bundling Edges clusters are found based on a geometric control mesh. 20 Multilevel Agglomerative Edge Bundling Bottom-up merging approach, similar to hierarchical clustering Minimize amount of ink used to render a graph. Skeleton-based Edge Bundling Skeletons: medial axes of edges which are similar in terms of positions information. Iteratively attracting edges towards the skeletons. 21 Comparison Interaction Viewing – Pan, Zoom, Rotate Interacting with graph nodes and edges – Pick, highlight, delete, move Structural interaction – Local re-order and re-layout – Focus+Context – Roll-up & Drill-down 22 Fisheye Focus+Context; Overviews + details-on-demand Distortion to magnify areas of interest: zoom factors of 3-5 Multi-scale spaces: Zoom in/out & Pan left/right Interaction with Social Networks Need to consider the social factors and behaviors related to nodes and edges 23 Graph Visualization Tools Prefuse (Java) UCINET / NetDraw Sentinel Visualizer JUNG (Java Universal Network/Graph framework) Graphviz Gephi TouchGraph Flare: ActionScript Library 24 http://prefuse.org/ Pajek http://prefuse.org/ 25 Sentinel Visualizer UCINET / NetDraw Link Analysis, Data Visualization, Geospatial Mapping, and Social Network Analysis (SNA) Analysis and visualization of networks and graphs Example: trade 52 26 Example: email traffic 53 Example: Subway map 54 27 Web page connections 55 Communication Networks 28 Hypergraphs Definition A hypergraph is a generalization of a graph, where an edge can connect any number of vertices. A hypergraph H is a pair H = (V,E) where V is a set of nodes/vertices, and E is a set of non-empty subsets of V called hyperedges/links. 29 The Hypergraph H = (V,E) where V = (1,2,3,4,5) and E = {(1,2) (2,3,5) (1,3), (5,4) (2,3)} Applications Data Mining Biological Interactions Social Networks Circuit Diagrams 30 Graph Representations Edge Nodes: Representative Graph 31