Docstoc

Introduction - Department of Computer Science(1)

Document Sample
Introduction - Department of Computer Science(1) Powered By Docstoc
					                      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)
• Edges (links)

• Adjacency list:
  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
  •   Related to your assignment!

• Navigation / Interaction
  •   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
  •   http://www.youtube.com/watch?v=EiS-W9aeG0s
                                             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


           Navigation / Interaction

• 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-
  content/uploads/2010/09/poster_rappers_1300.jpg
                                                       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

• http://www.facebook.com/notes/facebook-
  engineering/visualizing-
  friendships/469716398919

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


Subway Maps




              London Tube
                                        26/64


                Boston T

• http://www.google.com/images?q=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

•   Kamada-Kawai
    •   Computes the derivative of the overall energy function
    •   Iteratively improves the search for global layout
    •   http://cs.wellesley.edu/~cs315/Papers/Kamada-
        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,
      MySpace, Facebook).
         •   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”
    •   Precursor to Google PageRank
                                                 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
     read a Matrix
     visualization?

     Importance of
     sorting…



Henry InfoVis 06
                                           51/64


                   Matrix Representation




Liiv, BELIV 2010
                                52/64


                     NodeTrix

   Hybrid of matrix and
    node-link

   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

• Uses radial layout

• 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?

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:7
posted:11/25/2012
language:Latin
pages:64
Lingjuan Ma Lingjuan Ma
About