data visualization (cis/dsc 468)dkoop/cis468-2017sp/lectures/lecture25.pdfspatial aggregation d....

34
Data Visualization (CIS/DSC 468) Focus+Context Dr. David Koop D. Koop, CIS 468, Spring 2017

Upload: others

Post on 29-Sep-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Data Visualization (CIS/DSC 468)

Focus+Context

Dr. David Koop

D. Koop, CIS 468, Spring 2017

Page 2: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Reduce

Filter

Aggregate

Embed

Reducing Items and Attributes

FilterItems

Attributes

Aggregate

Items

Attributes

Overview

2D. Koop, CIS 468, Spring 2017

[Munzner (ill. Maguire), 2014]

Page 3: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Two-Dimensional Binning

3D. Koop, CIS 468, Spring 2017

Page 4: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Spatial Aggregation

4D. Koop, CIS 468, Spring 2017

30

spatial aggregation

modifiable areal unit problem in cartography, changing the boundaries of the regions used to analyze data can yield dramatically different results

[Penn State, GEOG 486]

Page 5: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Spatial Aggregation

4D. Koop, CIS 468, Spring 2017

30

spatial aggregation

modifiable areal unit problem in cartography, changing the boundaries of the regions used to analyze data can yield dramatically different results

30

spatial aggregation

modifiable areal unit problem in cartography, changing the boundaries of the regions used to analyze data can yield dramatically different results

[Penn State, GEOG 486]

Page 6: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Spatial Aggregation

4D. Koop, CIS 468, Spring 2017

30

spatial aggregation

modifiable areal unit problem in cartography, changing the boundaries of the regions used to analyze data can yield dramatically different results

30

spatial aggregation

modifiable areal unit problem in cartography, changing the boundaries of the regions used to analyze data can yield dramatically different results

30

spatial aggregation

modifiable areal unit problem in cartography, changing the boundaries of the regions used to analyze data can yield dramatically different results

[Penn State, GEOG 486]

Page 7: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Gerrymandering

5D. Koop, CIS 468, Spring 2017

[E. Tisdale, Boston Gazette, 1812]

• Massachusetts Gov. Elbridge Gerry

• South Essex County • Looks like a salamander

Page 8: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Modifiable Areal Unit Problem• How you draw boundaries impacts

the type of aggregation you get • Similar to bins in histograms • Gerrymandering

6D. Koop, CIS 468, Spring 2017

Pennsylvania-7

[Wonkblog, Washington Post, Adapted from S. Nass]

Page 9: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Boxplots• Show distribution • Single value (e.g. mean, max, min,

quartiles) doesn't convey everything • Created by John Tukey who grew

up in New Bedford! • Show spread and skew of data • Best for unimodal data • Variations like vase plot for

multimodal data • Aggregation here involves many

different marks

7D. Koop, CIS 468, Spring 2017

[Flowing Data]

Page 10: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

! 2

The first sample comprises the normal scores for a sample of this size, scaled to range from 1.0 to 19.0. Sample 2 is a mixture of two identical symmetric clusters of data each of size 49 and centered at 7.4 and 12.6, respectively, together with isolated values at the ends of the range. Sample 3 is a mixture of 70 values spaced evenly over the range, 15 values at 9.5, and 15 values at 10.5. Sample 4 comprises a value at 1.0, 24 values at 7.4, 50 approximately evenly spaced values ranging from 7.4 to 12.6, and 25 approximately evenly spaced values ranging from 12.6 to 19.0.

Figure 1: Histograms and box plot: four samples each of size 100

In an attempt to improve the box plot to show shape information, Benjamini (1988) suggested a “histplot”, obtained by varying the width of the box according to the density of the data at the median and quartiles, where these densities are estimated from a histogram with a small number of bins. Benjamini (1988) also suggested a variation called a “vase plot”, in which the linear segments in the histplot are replaced by smooth curves based on a kernel density estimate. Hintze and Nelson (1998) suggested a further modification called a “violin plot”, which is essentially the same as the vase plot, except that it extends to cover the whole range of the data.

While these methods provide informative and useful displays, in essence they just replace the box plot by a kind of histogram, rather than modifying it. The problem remains to choose the extent of smoothing, which in turn should depend on the sample size.!The box plot has become popular largely because of its simplicity. This raises the question: Is there a simple modification of the box plot that provides better information about the shape of the distribution, especially bimodality?

!

Four Distributions, Same Boxplot…

8D. Koop, CIS 468, Spring 2017

[C. Choonpradub and D. McNeil, 2005]

Page 11: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

D3 Multiple Views and Interaction• http://codepen.io/dakoop/pen/EWGRrE • Table of games • Map of schools • Score (Bar Chart) • Mouseover in table triggers updates:

- Map highlights two schools playing in games - Score shows the score (home, away)

9D. Koop, CIS 468, Spring 2017

Page 12: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Exam 2• Wednesday, April 5, 12pm-1pm • Similar Format to Exam 1: Multiple Choice + Free Response • Cumulative but emphasis on the topics covered since Exam 1

- Trees - Geospatial Data - Color & Colormaps - Interaction - Multiple Views - Filtering & Aggregation

• Reading: Chs. 8.1-8.3, 10, 6, 11, 12, 13 • Be prepared for a similar D3 question to the last exam

10D. Koop, CIS 468, Spring 2017

Page 13: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Reduce

Filter

Aggregate

Embed

Reducing Items and Attributes

FilterItems

Attributes

Aggregate

Items

Attributes

Overview

11D. Koop, CIS 468, Spring 2017

[Munzner (ill. Maguire), 2014]

Page 14: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Attribute Aggregation• Remember reducing attributes—use statistics: either one variable

matches another or doesn't change! • We can also use similar criteria for aggregating attributes • Cluster similar attributes together

- How?

12D. Koop, CIS 468, Spring 2017

Page 15: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

View Source

Tweet Like 15 Share

7 Comments Byte Muse Login!1

Share⤤ Sort by Best

Join the discussion…

• Reply •

Gurupad Hegde • 3 years ago

Awesome! Please post more such stuff! :) 1

• Reply •

Chris Polis • 3 years agoMod > Gurupad Hegde

Thank you - I'm definitely going to keep posting more so stay tuned! I try to build a newpost every week or two and my focus lately has been on ML and visualization.

2

• Reply •

Karl • 2 years ago

Which visualization library did you use or is it custom!

Recommend$

Share ›

Share ›

Share ›

K-Means

13D. Koop, CIS 468, Spring 2017

[C. Polis, 2014]

Run

Page 16: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

K-Means Issues

14D. Koop, CIS 468, Spring 2017

[D. Robinson, 2015]Shape Number of Clusters

Page 17: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Dimensionality Reduction• Attribute Aggregation: Use fewer attributes (dimensions) to

represent items • Combine attributes in a way that is more instructive than examining

each individual attribute • Example: Understanding the language in a collection of books

- Count the occurrence of each non-common word in each book - Huge set of features (attributes), want to represent each with an

aggregate feature (e.g. high use of "cowboy", lower use of "city") that allows clustering (e.g. "western")

- Don't want to have to manually determine such rules • Techniques: Principle Component Analysis, Multidimensional

Scaling family of techniques

15D. Koop, CIS 468, Spring 2017

Page 18: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Gene 1

original data space

Gene 2

Gen

e 3

component space

PC 1

PC 2

PCA PC 1

PC 2

Principle Component Analysis (PCA)

16D. Koop, CIS 468, Spring 2017

[M. Scholz, CC-BY-SA 2.0]

Page 19: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

original data space X component space Z

Φgen : Z → X

Φextr : X → Z

Non-linear Dimensionality Reduction

17D. Koop, CIS 468, Spring 2017

[M. Scholz, CC-BY-SA 2.0]

Page 20: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

results very close to zero, and the regularity should bevisually apparent in the layout. For shuttle, where thetrue dimensionality is conjectured to be slightly greater thanthe embedding dimension, both the global structure and thelocal proximity of the data may be important, but neithercan be reconstructed without some distortion. However,some cluster structure can be distinguished. For docs,because the true dimensionality is believed to be at least anorder of magnitude greater than the embedding dimension,the global relationships between points are less importantand potentially misleading. Again, the local cluster relation-ships and their distinguishability from each other should beemphasized.

5.2.2 Layout Quality

Fig. 8 shows the visual quality, normalized stress, andtiming of Glimmer, Hybrid, and PivotMDS layouts on fourdata sets with known structure. In the case of grid, thecorrect shape is known. In the other three cases, the correctpartitions of the points into clusters are available with thesebenchmark data sets, so the extent to which the color codingmatches the spatial grouping created by an algorithm is ameasure of its accuracy.

Qualitatively, with cancer, the Glimmer and PivotMDSalgorithms indicate these two color-coded groups clearly

with spatial position. Quantitatively, the stress of Glimmeris an order of magnitude lower than that of PivotMDS.Hybrid does separate the two groups but producesmisleading subclusters in the orange group.

With shuttle_big, Hybrid produces a readable layoutseparating the red cluster from the other two but is slowerby several hundred percent. Glimmer and PivotMDS bothproduce useful and qualitatively comparable layoutsseparating the clusters. The PivotMDS layout is twice asfast but has noticeable occlusion and much higher stressthan the Glimmer layout.

The 10,000-point grid is accurately embedded byGlimmer and PivotMDS in comparable times. Hybrid isagain slower but nevertheless terminated too soon, suffer-ing from very noticeable qualitative distortion and with amuch higher quantitative stress metric compared to that ofthe other layouts.

The Glimmer layout of the docs data set is qualitativelybetter than the other three. It shows several spatiallydistinguishable clusters, color coded by blue, red, orange,and green. The green cluster is split into three parts. It tookapproximately 2 seconds with normalized stress of 0.157.Hybrid suffers from cluster occlusion. The stress is nearlytwice as high as that of Glimmer, and the spatial embeddingdoes not clearly separate any of the given clusters.PivotMDS is very fast but almost completely fails to show

INGRAM ET AL.: GLIMMER: MULTILEVEL MDS ON THE GPU 257

Fig. 8. MDS layouts showing visual quality, time, and stress for the Glimmer, Hybrid, and PivotMDS algorithms. The data set name, the number ofnodes (N), and the number of dimensions (D) appear above each column. Time in seconds appears at the bottom left of each entry, with normalizedstress on the bottom right.

Dimensionality Reduction in Visualization

18D. Koop, CIS 468, Spring 2017

[Glimmer, Ingram et al., 2009]

Page 21: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Task 1

InHD data

Out2D data

ProduceIn High- dimensional data

Why?What?

Derive

In2D data

Task 2

Out 2D data

How?Why?What?

EncodeNavigateSelect

DiscoverExploreIdentify

In 2D dataOut ScatterplotOut Clusters & points

OutScatterplotClusters & points

Task 3

InScatterplotClusters & points

OutLabels for clusters

Why?What?

ProduceAnnotate

In ScatterplotIn Clusters & pointsOut Labels for clusters

wombat

Tasks in Understanding High-Dim. Data

19D. Koop, CIS 468, Spring 2017

[Munzner (ill. Maguire), 2014]

Page 22: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Focus+Context• Show everything at once but compress regions that are not the

current focus - User shouldn't lose sight of the overall picture - May involve some aggregation in non-focused regions - "Nonliteral navigation" like semantic zooming

• Elision • Superimposition: more directly tied than with layers • Distortion

20D. Koop, CIS 468, Spring 2017

Page 23: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Embed

Elide Data

Superimpose Layer

Distort Geometry

Reduce

Filter

Aggregate

Embed

Focus+Content Overview

21D. Koop, CIS 468, Spring 2017

[Munzner (ill. Maguire), 2014]

Page 24: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Elision• There are a number of examples of elision including in text ,

DOITrees, … • Includes both filtering and aggregation but goal is to give overall

view of the data • In visualization, usually correlated with focus regions

22D. Koop, CIS 468, Spring 2017

Page 25: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Elision: DOITrees

23D. Koop, CIS 468, Spring 2017

[Heer and Card, 2004]

Page 26: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

C. Tominski et al. / A Survey on Interactive Lenses in Visualization

(a) Alteration (b) Suppression (c) Enrichment

Figure 5: Basic lens functions. (a) ChronoLenses [ZCPB11] alter existing content; (b) the Sampling Lens [ED06b] suppressescontent; (c) the extended excentric labeling lens [BRL09] enriches with new content.

needs to be inversely projected from the screen space (V ) tothe model space (VA), in which the geometry and graphicalproperties of the visualization are defined. Further inverseprojection to the data space (DT or DS) enables selection atthe level of data entities or data values. For example, withthe ChronoLenses [ZCPB11] from Figure 5(a), the user ba-sically selects an interval on a time scale. The Local EdgeLens [TAvHS06] from Figure 7(a) (see two pages ahead) se-lects a subset of graph edges that pass through the lens andactually do connect to a graph node within the lens.

So, by appropriate inverse projection of the lens, the selec-tion s can be made at any stage of the visualization pipeline,be it a region of pixels at V , a group of 2D or 3D geometricprimitives at VA, a set of data entities at DT , or a range ofvalues at DS. However, what sounds simple in theory is notas straight-forward in real visualization applications. Inverseprojection can lead to ambiguities that need to be resolvedto properly identify the selected entities. Assigning uniqueidentifiers to data items and maintaining them throughoutthe visualization process as well as employing the conceptof half-spaces can help in this regard [TFS08].

The Lens Function The lens function creates the intendedlens effect. Just as any function, so is the lens function char-acterized by the input it operates on and the output it gener-ates. Clearly, the selection s is input to the lens function. Thelens function further depends on parameters that control thelens effect. Possible parameters are as diverse as there arelens functions. A magnification lens, for example, may ex-pose the magnification factor as a parameter. A filtering lensmay be parameterized by thresholds to control the amountof data to be filtered out. Parameters such as these are essen-tial to the effect generated with a lens. Additional parame-ters may be available to further fine-tune the lens function.For example, the alpha value used for dimming filtered datacould be such an additional parameter.

Given selection and parameters, the processing of the lensfunction typically involves only a subset of the stages of the

visualization transformation. For example, when the selec-tion is defined on pixels, the lens function usually manip-ulates these pixels exclusively at the view stage V . On theother hand, selecting values directly from the data sourceDS opens up the possibility to process the selected valuesdifferently throughout all stages of the pipeline.

The output generated by the lens function will typically bean alternative visual representation. From a conceptual pointof view, a lens function can alter existing content, suppressirrelevant content, or enrich with new content, or performcombinations thereof. Figure 5 illustrates the different op-tions. For example, ChronoLenses [ZCPB11] transform timeseries data on-the-fly, that is, they alter existing content. TheSampling Lens [ED06b] suppresses data items to de-clutterthe visualization underneath the lens. The extended excen-tric labeling [BRL09] is an example for a lens that enrichesa visualization, in this case with textual labels.

The Join ./ Finally, the result obtained via the lens func-tion has to be joined with the base visualization to create thenecessary visual feedback. A primary goal is to realize thejoin so that it is easy for the user to understand how the viewseen through the lens relates to the base visualization. In anarrow sense of a lens, the result generated by the lens func-tion will replace the content in the lens interior as shown forChronoLenses [ZCPB11] and the SamplingLens [ED06b] inFigures 5(a) and 5(b). For many other lenses the visual effectmanifests exclusively in the lens interior.

When the join is realized at earlier stages of the visu-alization pipeline, the visual effect is often less confined.For example, the Layout Lens [TAS09] adjusts the positionof a subset of graph nodes to create a local neighborhoodoverview as shown in Figure 6(a). Yet, relocating nodes im-plies that their incident edges take different routes, which inturn introduces some (limited) visual change into the basevisualization as well. In a most relaxed sense of a lens, theresult of the lens function can even be shown separately. Thetime lens [TSAA12] depicted in Figure 6(b) is an example

c� The Eurographics Association 2014.

Superimposition with Interactive Lenses

24D. Koop, CIS 468, Spring 2017

[ChronoLenses and Sampling Lens in Tominski et al., 2014]

Page 27: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

C. Tominski et al. / A Survey on Interactive Lenses in Visualization

(a) Alteration (b) Suppression (c) Enrichment

Figure 5: Basic lens functions. (a) ChronoLenses [ZCPB11] alter existing content; (b) the Sampling Lens [ED06b] suppressescontent; (c) the extended excentric labeling lens [BRL09] enriches with new content.

needs to be inversely projected from the screen space (V ) tothe model space (VA), in which the geometry and graphicalproperties of the visualization are defined. Further inverseprojection to the data space (DT or DS) enables selection atthe level of data entities or data values. For example, withthe ChronoLenses [ZCPB11] from Figure 5(a), the user ba-sically selects an interval on a time scale. The Local EdgeLens [TAvHS06] from Figure 7(a) (see two pages ahead) se-lects a subset of graph edges that pass through the lens andactually do connect to a graph node within the lens.

So, by appropriate inverse projection of the lens, the selec-tion s can be made at any stage of the visualization pipeline,be it a region of pixels at V , a group of 2D or 3D geometricprimitives at VA, a set of data entities at DT , or a range ofvalues at DS. However, what sounds simple in theory is notas straight-forward in real visualization applications. Inverseprojection can lead to ambiguities that need to be resolvedto properly identify the selected entities. Assigning uniqueidentifiers to data items and maintaining them throughoutthe visualization process as well as employing the conceptof half-spaces can help in this regard [TFS08].

The Lens Function The lens function creates the intendedlens effect. Just as any function, so is the lens function char-acterized by the input it operates on and the output it gener-ates. Clearly, the selection s is input to the lens function. Thelens function further depends on parameters that control thelens effect. Possible parameters are as diverse as there arelens functions. A magnification lens, for example, may ex-pose the magnification factor as a parameter. A filtering lensmay be parameterized by thresholds to control the amountof data to be filtered out. Parameters such as these are essen-tial to the effect generated with a lens. Additional parame-ters may be available to further fine-tune the lens function.For example, the alpha value used for dimming filtered datacould be such an additional parameter.

Given selection and parameters, the processing of the lensfunction typically involves only a subset of the stages of the

visualization transformation. For example, when the selec-tion is defined on pixels, the lens function usually manip-ulates these pixels exclusively at the view stage V . On theother hand, selecting values directly from the data sourceDS opens up the possibility to process the selected valuesdifferently throughout all stages of the pipeline.

The output generated by the lens function will typically bean alternative visual representation. From a conceptual pointof view, a lens function can alter existing content, suppressirrelevant content, or enrich with new content, or performcombinations thereof. Figure 5 illustrates the different op-tions. For example, ChronoLenses [ZCPB11] transform timeseries data on-the-fly, that is, they alter existing content. TheSampling Lens [ED06b] suppresses data items to de-clutterthe visualization underneath the lens. The extended excen-tric labeling [BRL09] is an example for a lens that enrichesa visualization, in this case with textual labels.

The Join ./ Finally, the result obtained via the lens func-tion has to be joined with the base visualization to create thenecessary visual feedback. A primary goal is to realize thejoin so that it is easy for the user to understand how the viewseen through the lens relates to the base visualization. In anarrow sense of a lens, the result generated by the lens func-tion will replace the content in the lens interior as shown forChronoLenses [ZCPB11] and the SamplingLens [ED06b] inFigures 5(a) and 5(b). For many other lenses the visual effectmanifests exclusively in the lens interior.

When the join is realized at earlier stages of the visu-alization pipeline, the visual effect is often less confined.For example, the Layout Lens [TAS09] adjusts the positionof a subset of graph nodes to create a local neighborhoodoverview as shown in Figure 6(a). Yet, relocating nodes im-plies that their incident edges take different routes, which inturn introduces some (limited) visual change into the basevisualization as well. In a most relaxed sense of a lens, theresult of the lens function can even be shown separately. Thetime lens [TSAA12] depicted in Figure 6(b) is an example

c� The Eurographics Association 2014.

Superimposition with Interactive

25D. Koop, CIS 468, Spring 2017

[Extended Lens in Tominski et al., 2014]

Page 28: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

June 21, 2012 / Mike Bostock

Fisheye Distortion

It can be difficult to observe micro and macro features simultaneously with complex graphs. If youzoom in for detail, the graph is too big to view in its entirety. If you zoom out to see the overallstructure, small details are lost. Focus + context techniques allow interactive exploration of an area

Mouseover to distort the nodes.

Distortion

26D. Koop, CIS 468, Spring 2017

[M. Bostock, http://bost.ocks.org/mike/fisheye/]

Page 29: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Distortion Choices• How many focus regions?

- One - Multiple

• Shape of the focus? - Radial - Rectangular - Other

• Extent of the focus - Constrained similar to magic lenses - Entire view changes

• Type of interaction: - Geometric, moveable lenses, rubber sheet

27D. Koop, CIS 468, Spring 2017

Page 30: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Overplotting

28D. Koop, CIS 468, Spring 2017

[M. Bostock, http://bost.ocks.org/mike/fisheye/]

Page 31: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Cartesian Distortion

29D. Koop, CIS 468, Spring 2017

[M. Bostock, http://bost.ocks.org/mike/fisheye/]

Page 32: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Cartesian Distortion

29D. Koop, CIS 468, Spring 2017

[M. Bostock, http://bost.ocks.org/mike/fisheye/]

Page 33: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

(a) (b)

Figure 3. LiveRAC shows a full day of system management time-series data using a reorderable matrix of area-awarecharts. Over 4000 devices are shown in rows, with 11 columns representing groups of monitored parameters. (a): Theuser has sorted by the maximum value in the CPU column. The first several dozen rows have been stretched to showsparklines for the devices, with the top 13 enlarged enough to display text labels. The time period of business hourshas been selected, showing the increase in the In pkts parameter for many devices. (b): The top three rows have beenfurther enlarged to show fully detailed charts in the CPU column and partially detailed ones in Swap and two othercolumns. The time marker (vertical black line on each chart) indicates the start of anomalous activity in several ofspire’s parameters. Below the labeled rows, we see many blocks at the lowest semantic zoom level, and further belowwe see a compressed region of highly saturated blocks that aggregate information from many charts.

as the minimum, maximum, or average of the time-series.Rows can be sorted by device names or metadata such as lo-cation, customer, or other groupings. Columns can also bereordered by the user.

Principle: multiple views are most effective when coor-dinated through explicit linking. The principle of linkedviews [15] is that explicit coordination between views en-hances their value. In LiveRAC, as the user moves the cur-sor within a chart, the same point in time is marked in allcharts with a vertical line. Similarly, selecting a time seg-ment in one chart shows a mark in all of them. This tech-nique allows direct comparison between parameter valuesat the same time on different charts. In addition, people caneasily correlate times between large charts with detailed axislabels, and smaller, more concise charts.

Assertion: showing several levels of detail simultane-ously provides useful high information density in con-text. Several technique choices are based on this assertion.First, LiveRAC uses stretch and squish navigation, whereexpanding one or many regions compresses the rest of theview [11, 17]. The accompanying video shows the look andfeel of this navigation technique. The stretching and squish-ing operates on rectangular regions, so expanding a singlechart also magnifies the entire row for the device it repre-sents, and the entire column for the parameters that it shows.The edges of the display are fixed so that all cells remainwithin the visible area, as opposed to conventional zoom-ing where some regions are pushed off-screen. There arerapid navigation shortcuts to zoom a single cell, a column,

an aggregated group of devices, the results of a search, or tozoom out to an overview. Users can also directly drag gridlines or resize freely drawn on-screen rectangles. Naviga-tion shortcuts can also be created for any arbitrary grouping,whose cells do not need to be contiguous. This interactionmechanism affords multiple focus regions, supporting mul-tiple levels of detail.

Second, charts in LiveRAC dynamically adapt to show vi-sual representations adapted in each cell to the availablescreen space. This technique, called semantic zooming [13],allows a hierarchy of representations for a group of device-parameter time-series. In Figure 3, the largest charts havemultiple overlaid curves and detailed axis and legend labels.Smaller charts show fewer curves and less labeling, and atsmaller sizes only one curve is shown as a sparkline [24].On each curve, the maximum value over the displayed timeperiod is indicated with a red dot, the minimum with a bluedot, and the current value with a green one. All representa-tion levels color code the background rectangle according todynamically changeable thresholds of the minimum, maxi-mum, or average values of the parameters within the currenttime window. The smallest view is a simple block, wherethis color coding is the only information shown.

Third, aggregation techniques achieve visual scalability byensuring dense regions show meaningful visual representa-tions. Given our target scale of dozens of parameters andthousands of devices, the size of the matrix could easily sur-pass 100,000 cells. Stretch and squish navigation allowsusers to quickly create a mosaic with cells of many differ-

Stretch and Squish Navigation

30D. Koop, CIS 468, Spring 2017

[McLachlan et al., 2008]

Page 34: Data Visualization (CIS/DSC 468)dkoop/cis468-2017sp/lectures/lecture25.pdfSpatial Aggregation D. Koop, CIS 468, Spring 2017 4 30 spatial aggregation modifiable areal unit problem

Distortion Concerns• Distance and length judgments are harder

- Example: Mac OS X Dock with Magnification - Spatial position of items changes as the focus changes

• Node-link diagrams not an issue… why? • Users have to be made aware of distortion

- Back to scatterplot with distortion example - Lenses or shading give clues to users

• Object constancy: understanding when two views/frames show the same object - What happens under distortion? - 3D Perspective is distortion… but we are well-trained for that

• Think about what is being shown (filtering) and method (fisheye)

31D. Koop, CIS 468, Spring 2017