exploring large graphs in 3d hyperpbolic space and graphsplatting: visualizing graphs as continuous...

60
Exploring Large Exploring Large Graphs in 3D Graphs in 3D Hyperpbolic Space Hyperpbolic Space And And GraphSplatting: GraphSplatting: Visualizing Graphs Visualizing Graphs as Continuous as Continuous Fields Fields

Upload: laura-bradley

Post on 25-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Exploring Large Exploring Large Graphs in 3D Graphs in 3D Hyperpbolic SpaceHyperpbolic Space

AndAnd

GraphSplatting: GraphSplatting: Visualizing Graphs Visualizing Graphs as Continuous as Continuous FieldsFields

Page 2: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Exploring Large Exploring Large Graphs in 3D Graphs in 3D Hyperbolic Space Hyperbolic Space (1998)(1998)Tamera MunznerTamera Munzner

Stanford UniversityStanford University

Page 3: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Exploring Large Graphs in Exploring Large Graphs in 3D Hyperbolic Space (1998)3D Hyperbolic Space (1998)

Software system that handles much Software system that handles much larger graphs and supports dynamic larger graphs and supports dynamic exploration (Called H3)exploration (Called H3)

Developed algorithms for graph layout Developed algorithms for graph layout and drawingand drawing

Drawn in 3D hyperbolic space to show a Drawn in 3D hyperbolic space to show a large neighborhood around a node of large neighborhood around a node of interestinterest

Page 4: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Spanning TreesSpanning Trees Need to find a spanning tree to compute Need to find a spanning tree to compute

layout. Spanning tree influences the layout. Spanning tree influences the system’s visual impactsystem’s visual impact

Can use BFS spanning tree, but exploiting Can use BFS spanning tree, but exploiting domain-specific knowledge creates better domain-specific knowledge creates better mental modelmental model

This means, for each node, deciding some This means, for each node, deciding some parent child relationship with the edges.parent child relationship with the edges.

Page 5: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Sample domain specific Sample domain specific spanning treesspanning trees

Web Site- URL encodes the site’s directory Web Site- URL encodes the site’s directory structure. structure.

Function call graph- Compiler analysis and Function call graph- Compiler analysis and runtime profiling must be done to find where runtime profiling must be done to find where procedure is being called most of the time.procedure is being called most of the time.

The resulting H3 layout makes it easier for The resulting H3 layout makes it easier for software engineers to understandsoftware engineers to understand

Page 6: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Standford graphics group website drawn as a graph in 3D hyperbolic space

Page 7: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Function call graph structure for a Fortran scientific computing benchmark

Page 8: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

LayoutLayout

Basis is cone tree methodBasis is cone tree method Instead of laying nodes on linear Instead of laying nodes on linear

circumference of a cone’s mouth, H3 lays circumference of a cone’s mouth, H3 lays nodes out on a surface of a hemispherenodes out on a surface of a hemisphere

The cone widens to its maximum extentThe cone widens to its maximum extent Cone body flattens out into a disk at base Cone body flattens out into a disk at base

of hemisphereof hemisphere

Page 9: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Traditional Cone Tree vs. H3 layout

Page 10: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Layout AlgorithmLayout Algorithm

It requires 2 passesIt requires 2 passes A bottom-up pass to estimate the radius A bottom-up pass to estimate the radius

needed for each hemisphere to needed for each hemisphere to accommodate all its childrenaccommodate all its children

A top-down pass to place each child A top-down pass to place each child node on its parental hemisphere's node on its parental hemisphere's surface.surface.

Page 11: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Layout (cont)Layout (cont)

Circle packing problem- child Circle packing problem- child hemispheres on the surface of their hemispheres on the surface of their parentparent

Solution- lay out children in concetric Solution- lay out children in concetric bands around the hemisphere’s pole. bands around the hemisphere’s pole. The amount of room each node needs is The amount of room each node needs is directly proportional to the total number directly proportional to the total number of its descendants.of its descendants.

Page 12: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

They lay the nodes out in sorted order to avoid wasting space within the bands, and the disk at the pole is the node with the most progeny (children, descendants)

Page 13: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Hemispherical LayoutHemispherical Layout Area of hemisphere, 2Area of hemisphere, 2ππr, increases polynomially with r, increases polynomially with

respect to its radius in Euclidean spacerespect to its radius in Euclidean space Area of hemisphere, 2Area of hemisphere, 2ππsinhsinh22(r), increases (r), increases

exponentially exponentially In hyperbolic geometry, you can map the entire infinite In hyperbolic geometry, you can map the entire infinite

space into a finite portion of Euclidean spacespace into a finite portion of Euclidean space Is effective because the tree is laid out in a Is effective because the tree is laid out in a

mathematical space having a exponential “amount of mathematical space having a exponential “amount of room” in direction of the hemisphere’s growthroom” in direction of the hemisphere’s growth

They chose the Klein hyperbolic geometry model They chose the Klein hyperbolic geometry model because motions can be expressed as 4x4 matrices.because motions can be expressed as 4x4 matrices.

Page 14: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Navigation in 3D hyperbolic space through a Unix file system of more than 31,000 nodes

Page 15: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

DrawingDrawing

Only a local neighborhood of nodes in Only a local neighborhood of nodes in the graph will be visible at any given the graph will be visible at any given time. This is because the projection from time. This is because the projection from hyperbolic to Euclidean space hyperbolic to Euclidean space guarantees that nodes sufficiently far guarantees that nodes sufficiently far from the center will project to less than a from the center will project to less than a single pixel.single pixel.

Page 16: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Drawing (cont)Drawing (cont)

Designed adaptive drawing algorithm to Designed adaptive drawing algorithm to always maintain a target frame ratealways maintain a target frame rate

A high constant framerate results from A high constant framerate results from drawing only as much of the drawing only as much of the neighborhood around a center point as neighborhood around a center point as much as allotted time permitsmuch as allotted time permits

When user is idle, the system fills in When user is idle, the system fills in more of the surrounding scene.more of the surrounding scene.

Page 17: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields
Page 18: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Drawing (cont)Drawing (cont)

Drawing algorithm uses knowledge of the Drawing algorithm uses knowledge of the graph structure and the current viewing graph structure and the current viewing positionposition

Spanning tree’s link structure is used as Spanning tree’s link structure is used as a guide to choose for candidates for a guide to choose for candidates for drawing. The largest project area node drawing. The largest project area node from the previous frame serves as a seed from the previous frame serves as a seed for the tree traversal on the next framefor the tree traversal on the next frame

Page 19: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Scaffolding for attributesScaffolding for attributes

Can show dynamic or static attributes.Can show dynamic or static attributes. By color and line-width coding, text By color and line-width coding, text

labels, and filteringlabels, and filtering Example: Can show paths taken by Web Example: Can show paths taken by Web

Users by highlight those nodes or Users by highlight those nodes or coloring the edgescoloring the edges

Color of edge can represent if inward Color of edge can represent if inward edge or outward edgeedge or outward edge

Page 20: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Local OrientationLocal Orientation

When user clicks on node, it is When user clicks on node, it is highlighted and undergoes an animated highlighted and undergoes an animated transition to the center of the sphere. transition to the center of the sphere. This minimizes occlusion of nodes and This minimizes occlusion of nodes and labelslabels

Ancestors appear on left and Ancestors appear on left and descendents appear on rightdescendents appear on right

Page 21: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Local Orientation (cont)Local Orientation (cont)

It draws links to and out of node even if It draws links to and out of node even if doesn’t draw node at other end.doesn’t draw node at other end.

This presence of undetermined link This presence of undetermined link during motion hints user of something during motion hints user of something interesting in that directioninteresting in that direction

Page 22: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Context of part in wholeContext of part in whole

Hyperbolic space very effectively Hyperbolic space very effectively presents a large area around a focus presents a large area around a focus nodenode

User can see enough of the distant User can see enough of the distant subtrees to identify dense and sparse subtrees to identify dense and sparse onesones

Page 23: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Graph as indexGraph as index

Integrate H3Viewer with other graph Integrate H3Viewer with other graph views like 2D file viewerviews like 2D file viewer

Graph structure becomes one way to Graph structure becomes one way to index the information. This becomes index the information. This becomes useful for finding patterns in a different useful for finding patterns in a different type of viewtype of view

Page 24: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

ConclusionConclusion

It can handle graphs that are very large(more It can handle graphs that are very large(more than 100,000 edges)than 100,000 edges)

Manipulates by using backbone spanning treeManipulates by using backbone spanning tree 3D hyperbolic space allows large amount of 3D hyperbolic space allows large amount of

context around a focus pointcontext around a focus point Layout is good balance of information density Layout is good balance of information density

and clutterand clutter Maintains guaranteed frame rateMaintains guaranteed frame rate I downloaded movies of it and demo program I downloaded movies of it and demo program

from websitefrom website

Page 25: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

GraphSplatting: GraphSplatting: Visualizing Graphs as Visualizing Graphs as Continuous Fields Continuous Fields (2003)(2003)

Robert van Liere and Wim de Leeuw

Page 26: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

GraphSplatting: Visualizing GraphSplatting: Visualizing Graphs as Continous FieldsGraphs as Continous Fields

Transforms a graph into a 2D scalar fieldTransforms a graph into a 2D scalar field Scalar field can be rendered as a color-coded Scalar field can be rendered as a color-coded

map, a height field, or a set of contoursmap, a height field, or a set of contours Allows visualization of large graphs without Allows visualization of large graphs without

cluttering (overview of graph)cluttering (overview of graph) It provides density information of the graph It provides density information of the graph

(assuming that graph Layout algorithm uses (assuming that graph Layout algorithm uses density of vertices as a characteristic) That is, density of vertices as a characteristic) That is, How vertices placed relative to each other How vertices placed relative to each other means somethingmeans something

Page 27: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Related WorkRelated Work

This work was inspired by ThemeScape, This work was inspired by ThemeScape, a technique which conveys information a technique which conveys information about topics in text documents. They are about topics in text documents. They are 3D landscapes of information that are 3D landscapes of information that are constructed from documents to show constructed from documents to show strength of themes in a documentstrength of themes in a document

Page 28: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

GraphSlatting techniqueGraphSlatting technique

Central assumption is that the density of Central assumption is that the density of vertices is an important characteristic of vertices is an important characteristic of layout used by a graphlayout used by a graph

Some layouts that use this are the spring Some layouts that use this are the spring mass technique and edge length mass technique and edge length minimization techniqueminimization technique

Page 29: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

SplattingSplatting

Projects each vertex of the graph onto Projects each vertex of the graph onto 2D scalar field using splatting function.2D scalar field using splatting function.

Instead of showing individual vertices, Instead of showing individual vertices, continuous variation in density is showncontinuous variation in density is shown

Each vertex contributes to the field with a Each vertex contributes to the field with a 2D Gaussian shaped basis function. 2D Gaussian shaped basis function. Field is obtained by adding all the Field is obtained by adding all the contributions. -> splat fieldcontributions. -> splat field

Page 30: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Gaussian SplatGaussian Splat

σ determines the smoothness. When σ large, smooth out details of graph. When σ small, more detail. If σ = 0, vertices are shown as impulses

Page 31: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Splat Field ConstructionSplat Field Construction2D continuous function M is constructed by summing the contributions of individual 2D basis functions

X = (x,y), a position in the splat field

Each basis function is modeled as a normalized Gaussian function

The basis function fi is defined by placing the center of the Gaussian at the vertex position pi = (pi,x , pi,y)

Page 32: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Splat field construction Splat field construction (cont)(cont)

Splat field is done on a grid with user Splat field is done on a grid with user controlled resolutioncontrolled resolution

Gaussian functions are discretized and Gaussian functions are discretized and added to the cells gridadded to the cells grid

Contribution to each splat to a pixel in the Contribution to each splat to a pixel in the grid is estimated by using the distance grid is estimated by using the distance between the vertex position and the between the vertex position and the center of the pixelcenter of the pixel

Page 33: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

40 vertices are shown on Left. Middle shows splat field with a low sigma. Right shows with high sigma. High sigma gives a more global view of the density. Blacker means higher density.

Page 34: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Splat Field VisualizationSplat Field Visualization

Important to realize that underlying data is a Important to realize that underlying data is a graph. Splat field is often combined with graph. Splat field is often combined with discrete representations that can be rendered discrete representations that can be rendered on top of the splat field.on top of the splat field.

Color coding. 2D view of the field which the Color coding. 2D view of the field which the value is shown using color.value is shown using color.

Height mapHeight map Isovalue contours. Can be used to show the Isovalue contours. Can be used to show the

boundary of specific clustersboundary of specific clusters

Page 35: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Splat Field ZoomingSplat Field Zooming

For large graphs, not all For large graphs, not all details can be discerned details can be discerned in the constructed splat in the constructed splat fieldfield

Sigma parameter with a Sigma parameter with a smaller region of interest smaller region of interest -> Zooming-> Zooming

This is done by This is done by maintaining same maintaining same contrast ratio of the contrast ratio of the unzoomed imageunzoomed image

Page 36: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Splat field with all the data. Region of interest shown in dashed bounding box

Page 37: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Previous ROI zoomed in. Now another ROI is selected

Page 38: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Second level zooming of the bounding box

Page 39: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Combining Splat Fields Combining Splat Fields with Texture Fieldswith Texture Fields

Gaussian function is limited in the frequency Gaussian function is limited in the frequency domaindomain

The sum of Gaussian functions will have the The sum of Gaussian functions will have the same spectral properties as a single Gaussian same spectral properties as a single Gaussian function. So spectrum of splat field is restricted function. So spectrum of splat field is restricted to lower frequenciesto lower frequencies

This property is used to map an additional This property is used to map an additional scalar field. Remaining higher frequencies are scalar field. Remaining higher frequencies are used for a texture that represents additional used for a texture that represents additional scalar datascalar data

Page 40: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Low frequencies for the splat field and High frequencies for the noise

Page 41: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

The Fourier Transform g(ω) of Normalized Gaussian

σk = 1 / (πσ) and ω is 2D frequency vector

A high σ results in a low cut off in the frequency domain and large splat.

A low σ results in a high cut off in the frequency domain and small splat.

Page 42: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Combining Splat Fields Combining Splat Fields with Texture Fields (cont)with Texture Fields (cont)

Combining splat fields with scalar data is performed by Combining splat fields with scalar data is performed by adding high frequency data to the splatadding high frequency data to the splat

The intesnisty of the noise added to the splat is The intesnisty of the noise added to the splat is proportional to the mapped scalar valueproportional to the mapped scalar value

Rh(x) is the frequency noise function. sa is a scalar attribute value of the point represented by the splat

Page 43: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields
Page 44: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Combining Splat Fields Combining Splat Fields with Texture Fields (cont)with Texture Fields (cont)

Maximum frequency that can be Maximum frequency that can be represented is determined by limited represented is determined by limited texture and screen resolutiontexture and screen resolution

If the range of [If the range of [ωω00, , ωω11] is too small, noise ] is too small, noise

mapping cannot be usedmapping cannot be used Use a database of splats so they don’t Use a database of splats so they don’t

have to recompute S(x) for every have to recompute S(x) for every rendered splatrendered splat

Page 45: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Regular data set splat field splat field with noise added

Page 46: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Hardware Hardware ImplementationImplementation

Gaussian Function represented as textured Gaussian Function represented as textured polygon, rendered to offscreen buffer with polygon, rendered to offscreen buffer with additive blending enabledadditive blending enabled

Optimal rendering, max splat value would map Optimal rendering, max splat value would map to max pixel valueto max pixel value

Due to limited dept of frame buffer, and to Due to limited dept of frame buffer, and to additive blending of unknown number of splats, additive blending of unknown number of splats, the maximum intensity of splat field is unknownthe maximum intensity of splat field is unknown

Page 47: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Hardware Hardware Implementation (cont)Implementation (cont)

Use adaptive algorithm to get optimal Use adaptive algorithm to get optimal intensity mappingintensity mapping

Optimal intensity is a value at least 80% Optimal intensity is a value at least 80% of max intensity of frame bufferof max intensity of frame buffer

Algorithm scales intensity of all splats Algorithm scales intensity of all splats such that max intensity of splat field is such that max intensity of splat field is close to max intensity of frame bufferclose to max intensity of frame buffer

Page 48: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Hardware Hardware Implementation (cont)Implementation (cont)

Algorithm implemented by first rendering Algorithm implemented by first rendering splat field with estimated splat intensity splat field with estimated splat intensity scaling. Iscaling. Imax max of splat field is scanned for.of splat field is scanned for.

3 cases for I3 cases for Imaxmax

Page 49: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

1.1. If IIf Imaxmax lies in R2. Then terminate. Satisfactory scaling found lies in R2. Then terminate. Satisfactory scaling found

2.2. If ImaxIf Imax lies in R1, Increase splat intensity scaling withlies in R1, Increase splat intensity scaling with

And re-render.

3. If Imax = FBmax. Decrease splat instensity scaling by

Keep doing this over until Imax is in R2

Page 50: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Applications Applications Multidimensional Feature Multidimensional Feature SpacesSpaces

For an image a feature is For an image a feature is expressed as a k-expressed as a k-dimensional feature dimensional feature vectorvector

Similarity between 2 Similarity between 2 images is based on images is based on distance between the 2 distance between the 2 feature vectorsfeature vectors

MDS can be used to MDS can be used to project multidimensional project multidimensional spaces onto a 2D planespaces onto a 2D plane

For example: brightness might correspond to first element

Page 51: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Left is MDS graph of images. Vertices are images and edges are similarity between 2 images. 200 vertices and 4007 edges. Right is the splat field as colored height field. The location and relative sizes of the 2 main clusters can be easily detected. The peaks represent similar images

Page 52: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Detail of high density area in feature space

Page 53: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

ApplicationApplicationIEEE Vis Citation IndexIEEE Vis Citation Index

Input data are BibTeX entries of papers Input data are BibTeX entries of papers in the IEEE Vis’XX conferences and all in the IEEE Vis’XX conferences and all references between papers in the setreferences between papers in the set

672 BibTeX entries, 1044 references672 BibTeX entries, 1044 references Also name session where paper was Also name session where paper was

collected was collectedcollected was collected

Page 54: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

ApplicationApplicationIEEE Vis Citation Index IEEE Vis Citation Index (cont)(cont)

Graph was made where vertices = Graph was made where vertices = papers and edges = referencespapers and edges = references

Used spring mass graph layoutUsed spring mass graph layout Referencing papers are attracted to each Referencing papers are attracted to each

otherother Goal: test hypothesis: topics in Goal: test hypothesis: topics in

visualization could be identified by using visualization could be identified by using reference informationreference information

Page 55: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Right shows the splat field applied to graph using rainbow colormap

Hypothesis says that higher peaks coincide with papers related to topics on which many papers are written. (in Red) Lower peaks(green and yellow) = less popular topics

Page 56: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

ApplicationApplicationIEEE Vis Citation Index IEEE Vis Citation Index (cont)(cont)

To validate hypothesis, used session names to To validate hypothesis, used session names to show what topic paper belongs toshow what topic paper belongs to

Noise mapping used to combine splatmap with Noise mapping used to combine splatmap with info about the session name of paperinfo about the session name of paper

Occurrence of “flow” or “volume” in session Occurrence of “flow” or “volume” in session name linked to Boolean attribute to noise name linked to Boolean attribute to noise mappingmapping

Papers menitioned in sessions are rendered as Papers menitioned in sessions are rendered as noisy splatsnoisy splats

Page 57: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Left shows noise mapping to show papers presented in flow visualization sessions.

Right uses noise to show papers presented in volume visualization sessions

Left image shows that there is a strong correlation between a region of strong noise and the red region in the splat field

In right image, there is no maximum in the splat field in the region of strong noise.

Page 58: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

ApplicationApplicationIEEE Vis Citation Index IEEE Vis Citation Index (cont)(cont)

Since noise regions are disjoint, the Since noise regions are disjoint, the assumption that visualization topics can be assumption that visualization topics can be identified is valididentified is valid

For flow viz, strong correlation between the For flow viz, strong correlation between the noise field and splat field. Not so for vol viz.noise field and splat field. Not so for vol viz.

Noise fields show small regions out of “primary Noise fields show small regions out of “primary region” of splat field. This is because these region” of splat field. This is because these papers do not reference other papers.papers do not reference other papers.

Flow papers tend to reference other papers Flow papers tend to reference other papers and Volume papers do not.and Volume papers do not.

Page 59: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Zooming into a region of interest

Page 60: Exploring Large Graphs in 3D Hyperpbolic Space And GraphSplatting: Visualizing Graphs as Continuous Fields

Discussion/ConclusionDiscussion/Conclusion

Overview of arbitrarily large graphs can Overview of arbitrarily large graphs can be producedbe produced

Visualization of splat fields presents Visualization of splat fields presents density information. Graph layout must density information. Graph layout must have meaning between vertices spaceshave meaning between vertices spaces

Noise mapping can be used to present Noise mapping can be used to present secondary scalar field.secondary scalar field.