Graphs and networks

 


[ Larger ]

Airline routes and spread of infection
Circa 2011

Infections can spread any time people come together, such as aboard an aircraft. Visualizing the routes those aircraft take can show the path of a spreading infection.

This 3D visualization links together departure and arrival cities across the globe in a simulation of the spread of infection via airline passengers. Graph edges mark the routes and are color coded with information about the infection.

This project was funded by the National Institutes of Health. Development was in Java/Swing, Java OpenGL, and NASA WorldWind.


[ Larger ]

Semi-geolocated spread of infection
Circa 2010

Geolocating graph nodes places them on a map. However, when data is sensitive the exact locations may not be something to publish. Instead, the graph's nodes can be spaced apart based upon true spatial relationships, but the underlying geolocation intentionally left off. The result is an abstract graph that nevertheless indicates useful directions and distances.

This 3D visualization shows an infection spread graph semi-geolocated. The graph is intentionally grayscale so that it can be printed in a paper and reproduced using library black-and-white photocopiers without losing information. Node sizes and line thicknesses are calibrated to indicate infection information.

This project was funded by the National Institutes of Health. Development was in Java/Swing and Java OpenGL.


[ Larger ]

Social network tree
Circa 2008-2009

While the "social network" term is now widely associated with Facebook, Twitter, and other consumer services, the term really refers to any group of people and their network of connections. In the study of the spread of infections, a social network is the graph of person-to-person contacts. People nodes may be tagged with attributes about the person, while contact edges are marked as including, or not including, the spread of an infection.

This 3D visualization presents a tree built from a subset of a very large social network simulating the spread of infections. The tree is rooted at an infected individual that spreads that infection to a group of people, who spread it to further groups of people, on down the tree.

This project was funded by the National Institutes of Health. Development was in Java/Swing and Java OpenGL.


[ Larger ]


[ Larger ]


[ Larger ]

Social network cones, saucers, and spirals
Circa 2008-2009

Tree visualizations, like that above, work well to show groups and sub-groups, but they don't show well large-scale trends in a population.

The 3D visualizations here again show subsets of a very large infection spread social network. The cone is again rooted on a single individual, placed at the cone tip. Their contacts are arranged on a ring below the cone tip. Those person's contacts are on the next ring down, and so on. Nodes and edges are color coded with the contact time from green (early) to red (late). Colored "lanes" through the cone show fast or slow infection spread paths.

The flying saucer style visualization shows similar information and is again rooted on a single individual, followed by rings of contacts. Ring diameters vary based upon the population size. In this case, the infection passes from just a few individuals to a few more, then a few more until it finally begins to explode outwards into a much larger population. Below the saucer, the infection begins to die out and rings and populations get smaller again.

The spiral style visualization again shows the same kind of information. A single individual starts the spiral and leads a trail of rings of contacts. Ring sizes vary with population size. The spiral arrangement allows a long time line to be compressed into a smaller space. Color coding shows the progression of the infection from green at the start to red at the end.

This project was funded by the National Institutes of Health. Development was in Java/Swing and Java OpenGL.


[ Larger ]

Cell signaling pathways
Circa 2004-2006

When chemical 'A' interacts with 'B' to form 'C', then 'C' interacts with 'D' to form 'E', this chain of interactions forms a pathway that can be shown as a graph. When investigating the inner workings of the cell, researchers draw complex hypothetical pathways. If we view this chain-reaction as sending a chemical signal from the starting chemical to the ending one, then the diagram shows possible signal pathways and the concentration plots the strength of that signal. Such a pathway is used in cell signaling research. This visualization shows a complex pathway centered on Arachadonic Acid.

This visualization plotted biological pathways dynamically based upon data in an Oracle database. Pathways also could be drawn from scratch by dragging and dropping chemical nodes and drawing connections between them to designate interactions between them. Color indicates the type of chemical involved and the type of interaction. The pathway could be queried to obtain information on chemical compounds in the graph. Experimental data showing changes in chemical concentrations were overlaid atop the pathway and animated to show the order in which interactions occur.

This project was funded by the National Science Foundation. Development was in Java/Swing and Java OpenGL.


[ Larger ]

Computer network structure
Circa 1997-1998

A network is a multilayered structure of hubs and their descendants. Unlike traditional 2D network maps overlaid atop a US or world map, this diagram focuses upon connectivity, not geo-layout. This enables a more efficient representation that doesn't try to cram a lot of information into a small space (such as all hubs in the L.A. area while looking at at the whole US map).

This visualization was built dynamically from network topology data assembled by a network monitoring organization. The layout used geographic information to place hubs that were located in the same part of the country near each other in each circle of nodes at each layer of the diagram. Major hubs are at higher layers. This visualization also supported network traffic statistics overlaid atop the graph and animated to observe traffic ebb and flow and to highlight bottlenecks.

This project was funded by the National Science Foundation. Development was in C++ and VRML.

3D Phylogenetic Cladogram
Circa 1995

A cladogram is an N-ary tree showing multiple possible descendant paths from a common biological ancestor. Cladograms are inferred based upon available evidence and informed speculation about which species likely evolved from which other species. However, the same ancestor and descendants may be linked together in multiple N-ary trees, each an alternate proposed solution from available evidence.

This 3D visualization presents a "tree" of alternate cladograms arranged to enable comparisons of competing solutions. The cladograms are each built by parsing a text-based phylogenetic equation that lists species and descendant groups. Any number of competing trees can be added to the diagram. Colors indicate similarities between the trees. The trees can be dragged around in the circle of trees and the scene re-oriented in 3D.

This project was funded by the National Science Foundation. Development was in C++ and VRML.

Nadeau software consulting
Nadeau software consulting