# Introduction - Department of Computer Science(1) by pptfiles

VIEWS: 7 PAGES: 64

• pg 1
```									                      1/64

Lecture 10:
Graphs and Networks

April 5, 2011

COMP 150-7
Visualization
2/64

Definition

• Graphs represent connections or relationships
•   Social network
•   Software execution (call graph)
•   Gene expression
•   Financial transactions
•   WWW
•   US telephone system

• One of the oldest and most studied areas of
information visualization
3/64

What Makes a Graph?

• Vertices (nodes)

1: 2
2: 1, 3
3: 2
4/64

Comparing Representations
5/64

Terminology

• Directed vs. Undirected

• Cyclic vs. Acyclic

• Degree of a vertex
• In-degree
• Out-degree

• Weights on edges
6/64

More Terminology

• Centrality Measures:

•   Degree Centrality
•   How many neighbors does a vertex have?
•   Betweenness Centrality
•   How often does a vertex appear in paths between other
nodes?
•   Closeness Centrality
•   How quickly can a node reach all other nodes in the graph?
•   Eigenvector Centrality
•   Google PageRank (assumes directed graph)
7/64

Graphs vs. Trees

• Tree is a special case of a general graph
• There are no cycles in a tree
• Edges are (usually) directed or are implicitly
directed
• Special designations for root, leaves, etc.
8/64

Challenges in Graph Visualization

• Graph layout and position

•   How to support a user in understanding all the
relationships in the graph

• Scale
•   What happens if the graph has 10 nodes? 1,000
nodes? 1,000,000 nodes?
9/64

Graph Drawing Conference

• The problem of graph layout remains
unsolved…
• Question: what are we trying to optimize?
• http://www.graphdrawing.org/gd2010/
10/64

What Makes a Good Layout?

• Total Edge Length – minimize towards proper
scale
• Area – minimize for efficiency (Tufte!)
• Maximum Edge Length – minimize longest edge
• Uniform Edge Lengths – minimize variances
• Total Bends – minimize orthogonal towards
straight lines
• Crossings – minimize towards planar
11/64

Let People Decide!

• Paper by Frank van Ham and Bernice
Rogowitz from IBM Research (published in
InfoVis 2008)

• http://www.research.ibm.com/visual/papers/
IEEEViz_VanHam%20and%20Rogowitz_final.p
df
12/64

Not An Exact Set of Criteria

Image from Kamada and Kawai (1988)
13/64

NetViz Nirvana

• Proposed by Ben Shneiderman

• Every node is visible
• Every node’s degree is countable
• Every edge can be followed from source to
destination
• Clusters and outliers are identifiable
14/64
15/64
16/64

Questions?
17/64

Common Layout Techniques

•   Hierarchical
•   Force-directed
•   Circular
•   Geographic
•   Clustered
•   Attribute-based
•   Matrix
18/64

Layout + Scale

• Many of these layout algorithms are constrained
by scale.

• For example, (naive) force directed layout is
O(n^2). When n becomes large, computation
slows down.

• Even without computation, when n becomes
large, it is difficult (impossible?) to guarantee
visibility for every vertex.

• Solutions?
19/64

• Give a large, dense graph, how do we use
interaction to help the user query, visit,
traverse, and analyze the graph?

• Such navigation / interaction aides can utilize
other visualization techqniues
20/64

Examples

• http://www.nytimes.com/interactive/2008/0
5/05/science/20080506_DISEASE.html

• http://mibi.deviantart.com/art/Death-and-
Taxes-2007-39894058

• http://perlitalabs.files.wordpress.com/2010/0
6/social-graphs-to-visualize-political-
factions1.png
21/64

More Examples
• http://www-
958.ibm.com/software/data/cognos/manyeyes/visuali
zations/co-occurrences-of-names-in-the-new-3

• http://conceptmodeler.wordpress.com/

• http://www.visualcomplexity.com/vc/project_details.c
fm?id=392&index=392&domain=

• http://blog.kobayashi.eu/wp-
22/64

Social Networks

• Facilitate understanding of complex socio-
economic patterns

• Social Science visualization gallery (Lothar
Krempel):
•   http://www.mpi-fg-koeln.mpg.de/~lk/netvis.html

• Social Network Analysis (www.insna.org)

• http://www.slate.com/id/2180392/
23/64

Geography
24/64

Examples

• http://www.nsf.gov/news/special_reports/sci
vis/follow_money.jsp

engineering/visualizing-
friendships/469716398919

• http://www.aaronkoblin.com/work/flightpatt
erns/
25/64

Subway Maps

London Tube
26/64

Boston T

&um=1&ie=UTF-
8&source=og&sa=N&hl=en&tab=wi&biw=10
31&bih=1376

• http://www.mbta.com/schedules_and_maps
/subway/
27/64

Questions?
28/64

Circular Layout
29/64

Circular Layout + Edge Bundling

• http://flare.prefuse.or
g/apps/dependency_g
raph
30/64

Tree Layout

• Forcing a graph into a tree
layout

• Spanning tree

• Hierarchical Layout
31/64

Sugiyama Method

Images from van Dalen and Spaans (2001)
32/64

Force-Directed Layout

• Common Spring Model
•   Edges – springs that attract
•   Vertices – charged particles that repel

• Iteratively computes new positions of the vertices
based on the lengths of the edges

• Seeks to minimize the total energy of the system
down to 0

• http://jung.sourceforge.net/applet/showlayouts.html
33/64

Force Directed Layout
•   Naïve Spring network (assignment 6)

•   Optimized Spring network (Barnes-Hut)
•   http://en.wikipedia.org/wiki/Barnes%E2%80%93Hut_simulatio
n

•   Frauchterman-Reingold
•   Adds global temperature (simulated annealing)
•   http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.8
444

•   Computes the derivative of the overall energy function
•   Iteratively improves the search for global layout
Graph%20Drawing.pdf
34/64

Questions?
35/64

Recent Trends in Graph Visualization

• Attributes of nodes influence the layout
• Not just arbitrary layout

• Utilize graph statistics

• Driven by interests in social network analysis
36/64

PivotGraph

• Cluster on common node attributes
• Put all A’s together into a node, all B’s together
into a node

• “Roll up” the nodes
• Draw edge from A to B depending on how many
edges go from some A to some B

• Position nodes on a grid based on data
attributes

Wattenberg CHI 06
37/64

PivotGraph
38/64

Semantic Substrates

• Group nodes into regions
•    According to an attribute
•    Categorical, ordinal, or binned numerical

• In each region:
•    Position nodes according to some other attributes

• Give users control of link visibility

• http://www.cs.umd.edu/hcil/nvss/

Shneiderman InfoVis 06
39/64

Semantic Substrates
40/64

Vizster

• Visualize social networking sites (Friendster,
•   Think 2005 when social network is just starting!
•   http://hci.stanford.edu/jheer/projects/vizster/

Heer InfoVis 05
41/64

SocialAction

• Combines graph structure analysis with
interactive visual exploration

• Multiple coordinated views
• Lists by ranking for analysis data
• Force-directed layout for graph

• http://www.cs.umd.edu/hcil/socialaction/

Perer InfoVis 06
42/64

Social Network Attributes
•   Barycenter
•   total shortest path of a node to all other nodes
•   Betweenness Centrality
•   How often a node appears on the shortest paths between all other
nodes
•   Closeness Centrality
•   How close a node is compared to all other nodes
•   Min-cut
•   If the removal of a node creates disconnected subgraph(s)
•   Degree
•   Number of neighbors
•   HITS (Hyperlink-Induced Topic Search), also known as “Hubs and
Authorities”
43/64

Attribute Ranking

• Run these measures on all nodes and rank
them

• Use secondary visualizations to display them
(lists, scatterplots, etc)

• Allow the user to interact with both the graph
and the secondary visualizations
44/64

PNNL’s Graph Vis

• Graph “Signature”

Wong TVCG 06
45/64

Graph Signature
46/64

Graph Signature
47/64
48/64

Graphs as Maps

http://www2.research.att.com/~yifanhu/MAPS/imap.html
49/64

Matrix Representation

• An obvious alternative visualization of graphs
is a matrix…

Ghoniem InfoVis 04
50/64

Matrix Representation

How does one
visualization?

Importance of
sorting…

Henry InfoVis 06
51/64

Matrix Representation

Liiv, BELIV 2010
52/64

NodeTrix

Hybrid of matrix and

Best of both worlds?

Worst of both
methods?

Henry InfoVis 07
53/64

Questions?
54/64

Interaction

• Interaction can be used as an alternative (or a
Band-Aid) to visualizing:

• Difficult graphs using existing layout algorithms
• Graphs that are significantly larger than what can
be displayed on screen

• Challenges:
• What types of interactions make sense?
• How to make graphs interactive?
55/64

MoireGraph

• Takes a hierarchical data as input (much like a tree)
•   If no hierarchy is available, impose levels of the graph by
performing minimum spanning tree

• Put root at the center, children are further out
towards the edge of the circle, with decreasing
emphasis (similar to hyperbolic trees)

• Like hyperbolic trees, interaction is key
56/64

MoireGraph

Jankun-Kelly InfoVis 03
57/64

MoireGraph
58/64

MoireGraph Layout
59/64
60/64

Interactive Big Graphs

Van Ham InfoVis 2010
61/64

Interactive Big Graphs

• Similar to SocialAction
• Use additional attributes (graph characteristics)
to assist in the analysis

• Allow users to focus on particular nodes
• Apply Degree-of-Interest (DOI) methods

• Rely heavily on interaction
62/64

Animating Change of Focus

Yee InfoVis 01
63/64

Animating Change of Focus
64/64

Questions?

```
To top