* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Graph/Network Visualization What is a Graph?
Survey
Document related concepts
Transcript
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