Visualization Taxonomies and Techniques Graphs University of Texas – Pan American CSCI 6361,...

Preview:

Citation preview

Visualization Taxonomies and Techniques

Graphs

University of Texas – Pan American

CSCI 6361, Spring 2014

Graphs and Networks

Graphs Show “Connections”

• Connections among …anything

• Model connected set as a Graph– US telephone system – World Wide Web – Distribution network for on-line

retailer – Call graph of a large software system – Semantic map in an AI algorithm – Set of connected friends

• Graph/network visualization is one of the oldest and most studied areas of visualization

NSFNET Traffic 1991, NSFNET backbone nodes are shown at the top, regional networks below, traffic volume is depicted from purple (zero bytes) to white (100 billion bytes), visualization by NCSA using traffic data provided by the Merit

Graphs Show “Connections”

• Connections among …anything

• Model connected set as a Graph– US telephone system – World Wide Web – Distribution network for on-line

retailer – Call graph of a large software system – Semantic map in an AI algorithm – Set of connected friends

• Graph/network visualization is one of the oldest and most studied areas of visualization

Trade among countries.

There are many challenges …

Graphs Show “Connections”

• Connections among …anything

• Model connected set as a Graph– US telephone system – World Wide Web – Distribution network for on-line

retailer – Call graph of a large software system – Semantic map in an AI algorithm – Set of connected friends

• Graph/network visualization is one of the oldest and most studied areas of visualization

SEMNET, 1987

Graphs Show “Connections”

• Connections among …anything

• Model connected set as a Graph– US telephone system – World Wide Web – Distribution network for on-line

retailer – Call graph of a large software system – Semantic map in an AI algorithm – Set of connected friends

• Graph/network visualization is one of the oldest and most studied areas of visualization vizster, social network, Facebook

http://vis.stanford.edu/jheer/projects/vizster/(download *.wmv)

Social Network Visualization

• Social Network Analysis – Among first studied– http://www.insna.org– Early, by social scientists

• Sociologists, anthropologists

• Now, very keen interest in social networks

– From Facebook to terrorists

Graphs and NetworksSome techniques

• Graph layout

• Node link layouts– Layered / Sugiyama– Force directed– Other

• Matrix layouts

• Attribute based layouts

About Graphs

• Graph: G = (V, E)

• Vertices (nodes) connected by edges (links)

– Can have cycles – Edges can be directed or undirected – Degree of vertex is number of edges

connected to it • In-degree and out-degree for directed

graphs

– Edges can have values (weights)• nominal, ordinal or quantitative

• Trees– Special case of general graph – no

cycle

– Typically directed edges – Special designated root vertex

Graph Visualization Challenges

• Graph layout and positioning – Make a concrete rendering of abstract

graph

• Navigation/Interaction – How to support user changing focus,

moving around the graph, …

• Scale – Small graphs are not hard for above– BUT, 10 – 100 – 1000 … which are the

interesting ones

• Layout – an entire research community focus

Aesthetic ConsiderationsHow to lay out a graph

• Line (edge) Crossings – – minimize towards planar

• Total Edge Length – – minimize towards proper scale

• Area – – minimize towards efficiency

• Maximum Edge Length – – minimize longest edge

• Uniform Edge Lengths – – minimize variances

• Total Bends – – minimize orthogonal towards straight-line

• All at once!– Various studies examined which of the aesthetic factors matter most and/or what

kinds of layout/vis techniques look best – Results mixed: Edge crossings do seem important

Graph VisualizationTask Taxonomy

• 1. Topology-based tasks – Adjacency: Find the set of nodes adjacent to a node – Accessibility: Find the set of nodes accessible to a node – Common connection: Given nodes, find the set of nodes connected to all – Connectivity: Find shortest path, Identify clusters, Identify connected components

• 2. Attribute-based tasks – For nodes: Find the nodes having a specific attribute value – For edges: Given a node, find nodes connected only by certain kinds of edges

• 3. Browsing tasks – Follow path: Follow a given path – Revisit : Return to a previously visited node

• 4. Overview task – Compound exploratory task : Estimate size of a network, find patterns, …

Layout TechniquesQuick Look

• Layout algorithms can create:

– polyline edges – planar –

• no edge crossings

– orthogonal – • horizontal and vertical

lines/polylines

– grid-based - • vertices, crossings,

edge bends have integer coords

– curved lines – hierarchies – circular – ...

• P. Mutzel, et al. Graph Drawing ’97

Layout TechniquesQuick Look

• Will see a couple

• Common techniques:

– Hierarchical – Force-directed – Circular – Geographic-based – Clustered – Attribute-based – Matrix

Hierarchical Graph Layout

Hierarchical Graph Layout Sugiyama layout

• Often called Sugiyama layout

• Try to impose hierarchy on graph

– Reverse edges if needed to remove cycles

• Introduce dummy nodes

• Put nodes into layers, or levels

• Order l->r to minimize crossings

Hierarchical Layout Sugiyama Layout

• Readable top down flow

• Good for graphs that have an intrinsic ordering

– Not suitable for graphs that don’t have an intrinsic top down structure

– ‘Depth’ in graph mapped to one axis

• Lots of gd libs– graphviz lib:

http://www.graphviz.org– http://gephi.org Unix “ancestry”

Hierarchical Layout Sugiyama Layout

• Readable top down flow

• Good for graphs that have an intrinsic ordering

– Not suitable for graphs that don’t have an intrinsic top down structure

– ‘Depth’ in graph mapped to one axis

• Lots of gd libs:– graphviz lib,

http://www.graphviz.org– http://gephi.org

Force-Directed Layout

Force-Directed Layout

• Define through equations

• Spring model (common) – Edges – Springs (gravity

attraction) – Vertices – Charged particles

(repulsion)

• Equations for forces

• Iteratively recalculate to update positions of vertices

• Seeking local minimum of energy

– Sum of forces on each node is zero

http://mbostock.github.io/protovis/ex/force.html

Force-Directed Example

• “Springs (forces) find iteratively find equilibrium”

Force-Directed ExamplesProtovis and D3

• Protovis: http://vis.stanford.edu/protovis/ex/force.html

• D3 (cf collapsible force directed): https://github.com/mbostock/d3/wiki/Gallery

GraphsForce Directed Layout

• Very flexible, aesthetic layouts on many types of graphs– Can add custom forces– Relatively easy to implement

• Repulsion loop is O(n2) per iteration– Can speed up to O(n log n) using quadtree or k-d tree

• Prone to local minima– Can use simulated annealing

GraphsForce directed layout

• Many variations, but physical analogy:

• Repulsion : fR(d) = CR * m1*m2 / d2

– m1, m2 are node masses– d is distance between nodes

• Attraction : fA(d) = CA * (d – L)– L is the rest length of the spring– i.e. Hooke’s Law

• Total force on a node x with position x’– Σ neighbors(x) : fA(||x’-y’||) * (x’-y’) + -fR(||x’-y’||) * (x’-y’)

• Examples– 23 second example: http://www.youtube.com/watch?v=AYrkWSDkfLM

– 60 second example: http://www.youtube.com/watch?v=QlXRapQW4q0

GraphsForce-directed layout

• Recall

Force Directed with Magnets• http://www.youtube.com/watch?v=K4GOxJywB-U

• Not much 1st minute

Other Layouts

• Orthogonal– Good for UML diagrams– algorithmically complex

Circular Layout

• Circular Layout– Very simple – Space vertices out around circle – Draw lines (edges) to connect vertices– But, aesthetic heuristics …

• Textarc (more next time)

Textarc: http://www.textarc.org/

Nested Layouts

• Recursively apply layout algorithms

• Good for graphs with hierarchical structure

Graphsvisual complexity

• http://www.visualcomplexity.com/vc/

GraphsAdjacency Matrix

GraphsAdjacency Matrix

• Alternative to node link

• Adjacency matrix representation– “Mark” where edges are– E.g., A-B, A-C (and inverse)

GraphsAdjacency matrix

• Good for dense graphs– Visually scalable– Can spot clusters

• Nodes of high degree have many connections, so many entries in adjacency tale

• Lots of dots at clusters

• However– Abstract visualization– Hard to follow paths

Matrix Representations

• Interest in matrix representations of graphs

• Regularity, symmetry, and structure of a matrix good

• Well understood

• Difficulties of scale

MatrixExplorer

• Provides matrix view in combination with node-link and various operations for gaining different perspectives

– Henry & Fekete TVCG (InfoVis) ‘06

Node Reordering

• Important operation with matrix representations

NodeTrix

• Hybrid of matrix and node-link

– Henry & Fekete TVCG (InfoVis) ‘07

GraphsAttribute Driven

GraphsAttribute-driven layout

• Large node-link diagrams can be challenging to perceptually order

• Can use data attributes to perform layout– E.g., scatterplot based on node values– Dynamic queries and/or brushing can be used to enhance perception of

connectivity

Barsky, 2008

GraphsAttribute-driven layout

• Semantic substrates

Shneiderman, 2006

Graphs Conclusion

• Trees:– Indentation

• Simple, effective for small trees

– Node link and layered

• Looks good but needs exponential space

– Enclosure (treemaps)

• Good for size related tasks but suffer in structure related tasks

• Graphs:– Node link

• Familiar, but problematic for dense graphs– Adjacency matrices

• Abstract, hard to follow paths– Attribute-driven

• Not always possible

• No single “best” solution – a design problem

Web Pages and VideosGraphs

• vizster, social network, Facebook: http://vis.stanford.edu/jheer/projects/vizster/, (download *.wmv)

• NY Times diseases: http://www.nytimes.com/interactive/2008/05/05/science/20080506_DISEASE.html

• Force directed layout protovis: http://mbostock.github.io/protovis/ex/force.html

• Protovis: http://vis.stanford.edu/protovis/ex/force.html

• D3 (cf collapsible force directed): https://github.com/mbostock/d3/wiki/Gallery

• Magnets and graphs: http://www.youtube.com/watch?v=K4GOxJywB-U

• Force directed layout examples– 23 second example: http://www.youtube.com/watch?v=AYrkWSDkfLM

– 60 second example: http://www.youtube.com/watch?v=QlXRapQW4q0

• Visual complexity: http://www.visualcomplexity.com/vc/

End

• .

Recommended