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

Slides:



Advertisements
Similar presentations
Kai Xu Middlesex University, UK
Advertisements

IAT Graphs ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT]
Network Visualization by Semantic Substrates Aleks Aris Ben Shneiderman.
Label Placement and graph drawing Imo Lieberwerth.
CSE 373 Graphs 1: Concepts, Depth/Breadth-First Search
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
Hank Childs, University of Oregon November 22 nd, 2013 Force Directed Layouts.
Force directed graph drawing Thomas van Dijk. The problem Given a set of vertices and edges, compute positions for the vertices. If the edges don’t have.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Constrained Optimisation and Graph Drawing Tim Dwyer Monash University Australia
CSE332: Data Abstractions Lecture 15: Introduction to Graphs Dan Grossman Spring 2010.
Graph & BFS.
A New Force-Directed Graph Drawing Method Based on Edge- Edge Repulsion Chun-Cheng Lin and Hsu-Chen Yen Department of Electrical Engineering, National.
Graph Visualization cs5764: Information Visualization Chris North.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Graphs.
Graph COMP171 Fall Graph / Slide 2 Graphs * Extremely useful tool in modeling problems * Consist of: n Vertices n Edges D E A C F B Vertex Edge.
Graph & BFS Lecture 22 COMP171 Fall Graph & BFS / Slide 2 Graphs * Extremely useful tool in modeling problems * Consist of: n Vertices n Edges D.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
SIMS 247: Information Visualization and Presentation jeffrey heer
Spring 2010CS 2251 Graphs Chapter 10. Spring 2010CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Force Directed Algorithm Adel Alshayji 4/28/2005.
Force Directed Algorithm Adel Alshayji 4/28/2005.
Visualization of Graph Data CS 4390/5390 Data Visualization Shirley Moore, Instructor October 6,
Review of Graphs A graph is composed of edges E and vertices V that link the nodes together. A graph G is often denoted G=(V,E) where V is the set of vertices.
Social Media Mining Graph Essentials.
I NTRODUCTION TO G RAPH DRAWING Fall 2010 Battista, G. D., Eades, P., Tamassia, R., and Tollis, I. G Graph Drawing: Algorithms for the Visualization.
VISUALIZATION - 10 Pavel Slavík. ENV The Screen Space Problem All techniques, sooner or later, run out of screen space Parallel co-ordinates.
IAT Graphs ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT]
By LaBRI – INRIA Information Visualization Team. Tulip 2010 – version Tulip is an information visualization framework dedicated to the analysis.
Programming for Geographical Information Analysis: Advanced Skills Online mini-lecture: Introduction to Networks Dr Andy Evans.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Computer Science 112 Fundamentals of Programming II Introduction to Graphs.
Chapter 2 Graph Algorithms.
Lecture 12: Network Visualization Slides are modified from Lada Adamic, Adam Perer, Ben Shneiderman, and Aleks Aris.
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
New method to optimize Force-directed layouts of large graphs Meva DODO, Fenohery ANDRIAMANAMPISOA, Patrice TORGUET, Jean Pierre JESSEL IRIT University.
VAST 2011 Sebastian Bremm, Tatiana von Landesberger, Martin Heß, Tobias Schreck, Philipp Weil, and Kay Hamacher Interactive-Graphics Systems TU Darmstadt,
IAT 814 Trees Chapter 3.2 of Spence ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS +
Representing and Using Graphs
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
Graphs. 2 Graph definitions There are two kinds of graphs: directed graphs (sometimes called digraphs) and undirected graphs Birmingham Rugby London Cambridge.
Graphs. Made up of vertices and arcs Digraph (directed graph) –All arcs have arrows that give direction –You can only traverse the graph in the direction.
Paradigms for Graph Drawing Graph Drawing: Algorithms for the Visualization of Graphs - Chapter 2 Presented by Liana Diesendruck.
Data Structures & Algorithms Graphs
1/25 Visualizing Social Networks Ryan Yee. 2/25 Plan Introduction and terminology Vizster NodeTrix MatLink Applications to Multi-agent systems.
Most of contents are provided by the website Graph Essentials TJTSD66: Advanced Topics in Social Media.
CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
1 Directed Graphs Chapter 8. 2 Objectives You will be able to: Say what a directed graph is. Describe two ways to represent a directed graph: Adjacency.
© Nuffield Foundation 2012 Nuffield Free-Standing Mathematics Activity Networks © Rudolf Stricker.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Graphs. Graph Definitions A graph G is denoted by G = (V, E) where  V is the set of vertices or nodes of the graph  E is the set of edges or arcs connecting.
IAT 355 Graphs ______________________________________________________________________________________.
Algorithms and Networks
Graphs Chapter 20.
Lecture 11 Graph Algorithms
Basic Concepts Graphs For more notes and topics visit:
Introduction to Graphs
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
Graphs All tree structures are hierarchical. This means that each node can only have one parent node. Trees can be used to store data which has a definite.
Graph Operations And Representation
Lecture 10 Graph Algorithms
Algorithms CSCI 235, Spring 2019 Lecture 32 Graphs I
Chapter 9 Graph algorithms
Presentation transcript:

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 (download *.wmv)

Social Network Visualization Social Network Analysis –Among first studied – –Early, by social scientists Sociologists, anthropologists Now, very keen interest in social networks –From Facebook to terrorists

Graphs and Networks Some 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 Considerations How 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 Visualization Task 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 Techniques Quick 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 Techniques Quick Look Will see a couple Common techniques: –Hierarchical –Force-directed –Circular –Geographic-based –Clustered –Attribute-based –Matrix

Another Graph Drawing Examples Human Disease Lens to view mes.com/intera ctive/2008/05/0 5/science/ _DISEASE.htmlhttp:// mes.com/intera ctive/2008/05/0 5/science/ _DISEASE.html

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: – 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, –

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

Force-Directed Example “Springs (forces) find iteratively find equilibrium”

Force-Directed Examples Protovis and D3 Protovis: D3 (cf collapsible force directed):

Graphs Force Directed Layout Very flexible, aesthetic layouts on many types of graphs –Can add custom forces –Relatively easy to implement Repulsion loop is O(n 2 ) per iteration –Can speed up to O(n log n) using quadtree or k-d tree Prone to local minima –Can use simulated annealing

Graphs Force directed layout Many variations, but physical analogy: Repulsion : f R (d) = C R * m 1 *m 2 / d 2 –m1, m2 are node masses –d is distance between nodes Attraction : f A (d) = C A * (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) : f A (||x’-y’||) * (x’-y’) + -f R (||x’-y’||) * (x’-y’) Examples –23 second example: –60 second example:

Graphs Force-directed layout Recall

Force Directed with Magnets Not much 1 st minute

Other Layouts Orthogonal –Good for UML diagrams –algorithmically complex

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

Textarc:

Nested Layouts Recursively apply layout algorithms Good for graphs with hierarchical structure

Graphs visual complexity

Graphs Adjacency Matrix

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

Graphs Adjacency 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

Graphs Attribute Driven

Graphs Attribute-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

Graphs Attribute-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 Videos Graphs vizster, social network, Facebook: (download *.wmv) NY Times diseases: Force directed layout protovis: Protovis: D3 (cf collapsible force directed): Magnets and graphs: Force directed layout examples –23 second example: –60 second example: Visual complexity:

End.