N ETWORKS are models that help us understanding and thinking about relationships between entities in the real world. Many of these networks are dynamic, i.e. connectivity changes over time. Understanding changes in connectivity means to understand interactions between elements of complex systems; how people create and break up friendship relations, how signals get passed in the brain, how business collaborations evolve, or how food-webs restructure after environmental changes. However, understanding static networks is already difficult, due to size, density, attributes and particular motifs; changes over time very much increase this complexity. Quantification of change is often insufficient, but beyond an analysis that is driven by technology and algorithms, humans display a unique capability of understanding and interpreting information in data, based on vision and cognition.

This dissertation explores ways to interactively explore dynamic networks by means of visualization. I develop and evaluate techniques to unfold the complexity of dynamic networks, making them understandable by looking at them from different angles, decomposing them into their parts and relating the parts in novel ways. While most techniques for dynamic network visualization rely on one particular type of view on the data, complementary visualizations allow for higher-level exploration and analysis.

Covering three aspects Tasks, Visualization Design and Evaluation, I develop and evaluate the following unfolding techniques: (i) temporal navigation between individual time steps of a network and improved animated transitions to better understand changes, (ii) designs for the comparison of weighted graphs, (iii) the Matrix Cube, a space-time cube based on adjacency matrices, allowing to visualize dense dynamic networks, as well as GraphCuisine, a system to (iv) generate synthetic networks with the primary focus on evaluating visualizations in user studies. In order to inform the design and evaluation of visualizations, we (v) provide a task taxonomy capturing users' tasks when exploring dynamic networks.

Finally, (vi) the idea of unfolding networks with Matrix Cubes is generalized to other data sets that can be represented in space-time cubes (videos, geographical data, etc.). Visualizations in these domains can inspire visualizations for dynamic networks, and vice-versa. We propose a taxonomy of operations, describing how 3D space-time cubes are decomposed into a large variety of 2D visualizations. These operations help us exploring the design space for visualizing and interactively unfolding dynamic networks and other spatio-temporal data, and may serve users as a mental model of the data. i 2 Tukey, 1993, p. 5 3 Tukey, 1993, p. 3 4 Information Visualization is defined by Colin Ware as "the use of interactive visual representations of abstract data to amplify cognition" 5 .

Research Questions and Approach

In this dissertation, I address the general research question:

How to support the interactive visual exploration of dynamic networks?

Supporting visual exploration means to improve the ability to an effective visual communication that allows users to gain insights into the data, i.e. obtain an overview, dig into the data, discover relevant and unexpected relations, as well as formulate and confirm hypotheses. My effort to support such a visual exploration involves the three aspects: tasks, visualization design, and evaluation.

. How to design novel visualizations to tackle open problems in the visualization of dynamic networks? While there are many open problems, I address the particular problems: How to improve temporal navigation between time steps? (Chapter 4) How to improve the perception of changes between two time slices? (Chapter 5) How to visualize dense dynamic networks with changing edge weight? (Chapter 6)

. If data is rare or does not show the desired properties to test the visualization, it must be generated synthetically:

How to generate synthetic network data for controlled user experiments? * Vertices 3 1 "a" [5-10,12-14] 2 "b" [1-3,7] 3 "e" [4-* ] * Edges 1 2 1 [7] 1 3 1 [6-8]

R ésum é

L ES réseaux sont des modèles qui nous permettent de comprendre les relations entre éléments du monde réel. Une grande quantité de réseaux sont dynamiques, c'esta-dire que leur connexité change au cours du temps. Comprendre les changements de connexité signifie comprendre les interactions entre les éléments de systèmes complexes: comment se forment les relations sociales et commerciales, comment sont transmis les signaux entre les régions du cerveau, comment s'organisent les réseaux trophiques après des catastrophes environnementales. Au-delà de ce que nous permet la technologie et les algorithmes d'analyses, l'homme dispose d'une capacité unique pour comprendre et interpréter des informations : la vision et la cognition.

Cette thèse développe et examine des moyens pour explorer les réseaux dynamiques d'une manière interactive et visuelle. Je propose des techniques pour déplier la complexité des réseaux, avec le but de les rendre compréhensibles, de les voir à partir de perspectives différentes, d'examiner leurs composantes. Déplier des réseaux est une métaphore, comme la création des cartes bidimensionelles d'objects tridimensionnels comme la Terre : chaque méthode de projection a comme résultat une carte différente qui permet de voir des relations différentes entre la taille des continents et des océans, des distances, etc.

Je propose les techniques de dépliage suivantes, implementées et évaluées dans des systèmes interactifs : (i) une navigation temporelle qui permet de naviguer plus efficacement entre des différents instants, ainsi qu'un feedback visuel qui permet de mieux comprendre les changements dans la réseaux entre deux instants arbitraires. (ii) Des designs permettant la comparaison directe de deux réseaux avec des liens pondérés. (iii) Un modèle de visualisation pour des réseaux denses avec des liens pondérés, ainsi que (iv) la génération de réseaux synthétiques utilisés pour l'évaluation des visualisations. Afin de mieux créer et évaluer des visualisations, nous (v) proposons une taxonomie de tâche pour décrire des tâches accomplies par des analystes des réseaux.

Pour compléter, (vi) nous généralisons l'idée de dépliage pour décrire d'autres genres de données temporelles, représentable dans des cubes espace-temps. Cela concerne la visualization de vidéos, des données multi-variées, ainsi que la géographique. Une telle généralisation a pour but de fournir une base commune pour échanger des techniques de visualisation et de mieux comprendre l'espace de design pour les réseaux dynamiques. Dans cette optique, nous proposons une taxonomie d'opérations génériques qui nous permet de transformer un cube espace-temps en visualisation bidimensionelle, ainsi qu'une description des formes évoquées par les données dans le cube espace-temps.

Introduction

"Historians of science [...] glorify great thinkers and their conceptual breakthroughs.

Less heralded are the inventors of scientific instruments [...]" Seoung, 2012, p. 138 This dissertation is about creating scientific instruments: interactive visualizations for the exploration of dynamic networks.

Background and Motivation

N ETWORKS are models that help us understand and reason about relationships be- tween entities in the real world. As such, networks appear in a variety of domains; sociologists investigate relationships, and collaboration between people; historians and geographers analyze migration streams and trading routes; enterprises monitor computer networks, analyze traffic load and watch out for fraud; biologists research reaction networks and interactions between proteins; epidemiologists investigate the spreading of viruses and neurologists investigate functional correlations between regions in the brain, in order to detect the patterns of an individual activity or external stimuli, as well as the impact of drugs and diseases on the brain's functionality.

Networks in their general form are used where they help in answering questions about the connectivity of nodes (also: vertices, actors); Which two nodes are related? Are two nodes reachable via a path? Where are the clusters in the network? Is there structure in the network? How vulnerable is the network? How dense is it? While these questions imply a static network model, there are many questions that require a dynamic network model; Where does the network grow fastest? Which nodes behave differently? In which order do nodes connect, how do clusters exchange nodes and evolve? Is the network stable or unstable? Is there a trend? Which nodes do not follow the trend? When do major changes impact the network? While static networks describe topology and structure, dynamic networks 1 describe changes, interactions, behavior and evolution on its elements. Dynamic networks allow the exploration of rules within a system and how its individual parts behave. They 1. Introduction represent the impact of environmental factors on ecosystems and organisms, as well as restructuring mechanisms thereafter. They describe how friendship relations emerge and break up, how signals are exchanges between regions in the brain, and many others (see e.g., [START_REF] Holme | Temporal networks[END_REF][START_REF] Holme | Temporal networks[END_REF][START_REF] Sporns | Networks of the brain[END_REF].

Many of these systems exhibit similar patterns. Networks grow and shrink, connections break and get established, nodes enter communities, clusters merge and networks divide into disconnected components. Observations in these networks are made over time, i.e. events at a particular time point as well as the order of events. Changes are described between time points as well as over periods of time, including the evolution of statistical measures. Low-level events involving a single node or a pair of nodes (dyads) such as the appearance or disappearance of a node or a connection (also: link, edge) can be responsible for higher-level changes on clusters, paths, as well as the entire network. Similar to static networks, dynamic networks can be investigated on different topological scales (nodes, dyads, clusters, etc.). Furthermore, there are different temporal scales; individual events on a short time scale, or changes on a higher structural level that happen over a longer time period, and which provoke patterns of repetition, instability, or convergence.

While investigating static networks is already complex, dynamic networks combine two types of data: networks and time-varying (or temporal) data. Static networks get complex as the number of nodes, edges and density, increases, because this complicates the search for, and the exploration of, paths, individual connections, and clusters. Dynamic networks increase in complexity with the number of time steps, the amount of change between individual time steps, the lack of clear trends, as well as the presence of attributes varying over time.

Making sense of, and understanding such complex data, generally relies on two complementary methods: analysis, based on measures, and observation, based visualization.

Exploratory Data Analysis

Networks can be analyzed using basic measurements such as the number of nodes, density, or clustering coefficient. Such network measures can indicate the importance of a node or how stable a network is to node removal. Often, an analysis requires an aggregation of information across multiple measures, but the more measures are involved in an analysis, the more complex it becomes. In fact, numerical analysis appropriate for hypothesis testing, is also called confirmative analysis. The opposite, Exploratory Data Analysis (EDA) [START_REF] Tukey | Exploratory Data Analysis: Past, Present, and Future[END_REF], is described as a type of analysis without a particular hypothesis in mind. EDA is about formulating hypotheses about the data, which therein can be confirmed or rejected by confirmative analysis. Confirmatory and exploratory analysis are hence complementary. A proper analysis requires multiple tools including powerful computers, fast algorithms and clever analysis methods. Yet, beyond what can be achieved by technology and engineering, humans display a unique capability of understanding and interpreting information, based on vision and cognition. EDA therefore emphasizes "seeing results -graphically, or numerically" 2 and "stripping off layer after layer of what could be described." 3 An example of the importance of seeing the data, in contrast to obtaining the statistical numbers, is given by [START_REF] Anscombe | Graphs in Statistical Analysis[END_REF], called Anscombe's quartet (Figure 1.1). Anscombe's quartet is made of four data samples (columns in Figure 1.1(a)), each containing the same number of observations (rows). Yet, each sample contains a different distribution of observations. However, all sets have exactly the same values for various statistical measures (Figure 1.1(b)). Eventually, showing the data as points in a scatterplot reveals obvious differences (Figure 1.1(c)). As further illustrated in Chapter A, networks with equal measures can have quite different topologies.

Information Visualization

Vision is a powerful tool to capture information, because its processing is highly parallel, other than reading numbers or listening to language. This parallelism allows us to see things in their context, and detecting relationships pre-attentively without having to infer them cognitively. However, providing effective visual communication requires interdisciplinary knowledge, proper methodologies, effective ways of evaluation, as well as algorithms to organize glyphs on the screen and interactively explore the data.

Developing means for an effective visual communication of information is called Information Visualization 4 . The process of information visualization can be described through the InfoVis pipeline [START_REF] Card | Readings in Information Visualization, Using Vision to Think[END_REF], shown in Figure 1.2: during four stages raw data gets turned into information; (i) raw data is transformed into structure data (data tables), (ii) a visual mapping turns data into visual structures, marks and their visual [START_REF] Card | Readings in Information Visualization, Using Vision to Think[END_REF] properties, (iii) the visual form gets rendered on the screen to create a view, which allows (iv) perception of the image by the user and to solve particular tasks. An effective visual mapping is essential to every visualization and involves a large body of methods and literature on its own (e.g., Bertin, 1973;[START_REF] Tufte | The visual display of quantitative information[END_REF][START_REF] Tufte | Envisioning information[END_REF][START_REF] Card | Readings in Information Visualization, Using Vision to Think[END_REF][START_REF] Ware | Information visualization: Perception for design[END_REF].

Introduction

Information visualization involves the use of computers and algorithms to perform each of the steps on the pipeline and to produce the final image. A single visual representation hardly answers all users' questions [START_REF] Yi | Toward a deeper understanding of the role of interaction in information visualization[END_REF]. Users should be able to interact with the visualization in order to change the part of the data shown and adapt parameters along the InfoVis pipeline, as different user tasks require different visual representations, filtering, clusterings or visual mappings. Such an interactive and exploratory process can, to a certain extent, be described by "Overview first, zoom and filter, detail-on-demand", as formulated by [START_REF] Shneiderman | The eyes have it: A task by data type taxonomy for information visualizations[END_REF]. Other methods have been described as "search, show context, expand on demand" [START_REF] Van Ham | Search, Show Context, Expand on Demand: Supporting Large Graph Exploration with Degree-of-Interest[END_REF]), yet in general, exploration does not follow a particular methodology but every finding may lead to a new hypothesis or question.

Visualizing Networks

The most common way of looking at networks is through node-link diagrams, showing nodes as points and connections as lines between points. Nodes are placed in a 2dimensional space using a graph layout. In the 1930s, Jacob Levy Moreno used node-link diagrams to study social groups and to communicate his findings. His graph layouts were hand-drawn and emphasized densely connected groups of nodes (Figure 1.3). Additional information about persons and their relations was encoded using color and different shapes. Today, many automatic layout algorithms exist, but the amount of information contained in networks (edge types, weighted edges, dynamic, etc.) requires additional visual and interactive means.

Dynamic networks with their changing topology pose numerous challenges to creating visualizations and providing interaction to explore them; visualization and interaction techniques developed for static networks, with a few exceptions, are not sufficient. While static networks are commonly understood and interpreted as static 2D maps, dynamic networks imply dynamic media such as animation and interaction to "perceive change", "replay the evolution", and "navigate in time". Figure 1.4 gives a preview of current techniques to visualize dynamic networks and illustrates some of the problems in the field: How to visualize topology and changes at the same time?, How to show differences between time steps? How to visualize attribute changes?, How to deal with increased (visual) density of connections, resulting from the increased number of connections over time?. How to describe and structure user tasks, necessary for dynamic network exploration?

Introduction

For dynamic networks, a taxonomy must capture tasks related to the exploration of changes over time, but no such task taxonomy has been published yet.

Visualization Design Many visualization techniques have already been proposed

for the visualization of dynamic networks, including "network movies" [START_REF] Moody | Dynamic Network Visualization: Methods for Meaning with Longitudinal Network Movies[END_REF], small multiples (Figure 1.4(a)), time line views (Figure 1.4(b)) and 3D node-link diagrams (Figure 1.4(c)), as well as methods showing temporal information in addition to the network's topology (Chapter 2). However, each of these techniques supports a particular set of user tasks, while falling short on others. Since many techniques are in fact complementary, the questions is:

How can techniques be integrated in a consistent way by keeping the interface simple?

Thesis Statement

As current techniques are far from optimal and do not cover all possible user tasks, there is a need to improve existing techniques and think of new ones to tackle the many open problems in visualizing dynamic networks, user navigation and network characteristics such as size, density and amount of change.

Thesis Statement

Exploring dynamic networks involves a multitude of tasks, which vary in their level of difficulty (task complexity). While many simple (low-level) tasks may require only one specialized visualization, more complex tasks (higher-level) tasks require multiple perspectives on the data, i.e. multiple complementary visual representations, made manageable and navigable by users though interaction. This dissertation explores ways to interactively explore dynamic networks by means of visualization. I develop and evaluate techniques to unfold the complexity of dynamic networks, making them understandable by looking at them from different angles, decomposing them into their parts and relating the parts in novel ways. Unfolding networks is a metaphor such as different geographical projections unfold the spherical shape of the earth into easy-to-read two-dimensional maps, each making visible different relations between land masses and oceans, distances and areas, traveling routes and areas of interest (Figure 1.5).

We categorize tasks as queries along three dimensions: WHERE in the network, WHEN in time and WHAT has happened (Chapter 3). Higher-level tasks involve answering questions from different dimensions and explore these dimensions. GraphDiaries (Chapter 4) is a system that facilitates navigation between, as well as comparison and exploration 1. Introduction of individual time steps. It is based on the three dimensions of our taxonomy and aims to support higher-level exploratory tasks. GraphDiaries integrates various techniques such as animations, small multiples and difference highlighting techniques. For dense networks with changing attributes, we require matrix visualizations (Chapter 5), which can be integrated in systems such as GraphDiaries. In order to allow for multiple views, while keeping the interface complexity low, we introduce the concept of the Matrix Cube (Chapter 6). A Matrix Cube represents fully connected and weighted dynamic networks as a space-time cube, while allowing users to manipulate and decompose the cube to explore the data. Three-dimensional space-time cubes provide a powerful way to unfold data that contains two dimensions plus time (geo-temporal data, videos, etc.). Dynamic networks are one case of such data, being represented as node-link diagrams or matrices, for example. We discuss space-time cubes as a general mental model [START_REF] Johnson-Laird | Mental models: towards a cognitive science of language, inference, and consciousness[END_REF][START_REF] Liu | Mental models, visual reasoning and interaction in information visualization: A top-down perspective[END_REF]) (Chapter 7) that:

• allows us to define a taxonomy of operations that span a design space for 2D visualizations, • allows us to describe characteristics of data sets, • helps to discuss visualizations and technique, and • can serve as user interface metaphor, to facilitate understanding of and navigation between views on the data.

Chapter 7 generalizes the idea of unfolding networks to other data sets that involve one temporal dimension and two spatial dimensions (graph layout and adjacency matrices are 2-dimensional representations for (static) networks). The visualization of video data, multivariate data, as well as changes in geographical information can inspire the visualization of dynamic networks, as well as vice-versa. We propose a taxonomy of basic operations that describe the decomposition of 3-dimensional space-time cubes, leading to novel 2-dimensional visualizations. These operations help us to explore the design space for visualizing and interactively unfolding dynamic networks and other spatio-temporal data, as well as to transfer techniques across the domains.

Outline

Chapter 2 gives an overview of the major definitions and concepts about networks, temporal data and dynamic networks, as well as describing visualizations for (static) networks in general. Chapter 2 finishes with a review of techniques that are used to visualize dynamic networks, and introduces problems specific to dynamic network visualization. Following Chapter 2, this dissertation is divided into five chapters, and finishes with a chapter on conclusions and future work (Chapter 8). Chapter 3: Towards a Task Taxonomy for Dynamic Networks This chapter describes our task taxonomy, which is inspired by an approach from geography [START_REF] Peuquet | Its about time -a conceptual-framework for the representation of temporal dynamics in geographic information-systems[END_REF], as well as existing taxonomies. Tasks are structured along three dimensions WHERE, WHAT, and WHEN. We further discuss the mapping from tasks in the data space to tasks in visual space.

Chapter 4: Animated Transitions and Temporal Navigation Informed by our task taxonomy and its implications, described in Chapter 3, we designed a system called GraphDiaries and evaluate some of the implemented techniques in a controlled user study. Besides small multiples, difference highlighting, and animated transitions (Figures 1.6(a) and 1.6(b)) with change highlighting between individual time steps of the network, GraphDiaries includes adaptive layout stabilization and a way to track a set of nodes over time. While navigation through time in common interfaces is only supported in a linear way, we provide navigation between non-adjacent time steps as well different levels of visual feedback when navigating between time steps. A controlled user study, comparing our interface with others, concludes the chapter. 1.5. Individual Contributions a walkthrough exploring a co-authorship network. We evaluate the Matrix Cube in a qualitative study with two experts from the domains of astronomy and neurology.

Introduction

Chapter 7: A Framework for Unfolding Space-Time Cubes In this chapter we show how different visualizations from multiple domains (geo-spatial data, video data, etc.), including the techniques for dynamic networks explained at the end of Chapter 2, can be described as operations on space-time cubes (Figure 1.6(e)). By describing a detailed taxonomy of space-time cube operations, we generalize the concept of an interactive cube for visualization, developed in Chapter 6. This allows us to eventually discuss operations, including the resulting visualizations in terms of effectiveness. We further discuss other space-time cube systems, which employ operations on a space-time cube, and report on a use case to design a visualization for dynamic networks based on a minimal set of operations from our taxonomy.

While evaluating GraphDiaries, the need to generate data emerged. However, current graph generators require input parameters, whereby it is sometimes hard to understand how these parameters influence the topology of the final graph. Moreover many synthetically generated graphs do look artificial. We tried to invert the problem of graph generation; rather than letting the user define input parameters, we generate graphs while a user selects the graphs he considers most appropriate. In an appendix to this dissertation (Random Graph Generation for Evaluating Network Visualizations), we describe GraphCuisine, our random graph generator, which is based on an evolutionary algorithm. We report on its components and show examples of generated graphs. We finally report on a way to use GraphCuisine for the generation of dynamic networks.

Individual Contributions

The individual contributions of this dissertation are as follows:

1. A survey of the state-of-the-art in visualizations for dynamic networks (Chapter 2) 2. A task taxonomy for the exploration of dynamic networks (Chapter 3).

3. An interface for the exploration of dynamic networks based on node-link diagrams, named "GraphDiaries" (Chapter 4).

4. A controlled user study estimating the effectiveness of the transitions and navigation techniques proposed in GraphDiaries (Chapter 4).

5. Designs for node-link and matrix representations to compare weighted networks, as well as the results from a controlled user study on their efficiency (Chapter 5, involving Basak Alper (UC Santa Barbara, CA), Nathalie Henry-Riche (Microsoft Research, WA), and Tobias Isenberg (INRIA, France)).

1. Introduction 6. Matrix Cubes as a visualization and interaction model for the exploration of dynamic networks and the description of corresponding decomposition operations (Chapter 6).

7. An interactive interface, named "Cubix", for the exploration of dynamic weighted networks, using Matrix Cubes (Chapter 6).

8. An evaluation of Cubix by experts using the tool to explore their data (Chapter 6).

9. A general taxonomy of space-time cube operations, a typology of data sets based on shapes inside the space-time cube, as well as, an extensive discussion about visualization techniques, which are captured by the design space that is defined by space-time cube operations (Chapter 7, involving Pierre Dragicevic (INRIA, France), Christophe Hurter (ENAC, France), Daniel Archambault (Swansea University, UK), and Sheelagh Carpendale (University of Calgary, Canada)).

10. An interface and genetic algorithm for the generation of random graphs with user defined properties, allowing for the creation of data sets for controlled user studies (Chapter A, involving Andre Spritzer (Universidade Federal do Rio Grande do Sul, Brasil) and Evelyne Lutton (INRIA, France)).

11. GraphTabasco, an extension to GraphCuisine allowing to create dynamic networks with random noise. D YNAMIC networks combine two problem domains; network connectivity and changes over time. This chapter clarifies the main definitions for graphs and networks, as well as temporal data and dynamic networks. It then gives an overview of how visualizations help in exploring (static) networks, and discusses visualizations for dynamic networks. The chapter concludes with a list of open problems in visualizing dynamic networks.

State of the Art

Graphs

Terminology

A graph G = (N, E) consists of a finite set of nodes (or vertices) N and a finite set of edges (or links, connections) E, between pairs (n,v) of N. Nodes and edges of a graph are called its elements. A layout for G is called the embedding for G, finding a position for any node in N in R × R. If the layout can be drawn in 2-dimensinonal space, G is called planar. The adjacency matrix M of a graph is a matrix of size |N| × |N| with an entry m i j = 1 for every existing edge between two nodes i and j, otherwise m i j = 0.

Edges in the graph can be modeled in different ways. Multiple edges between the same nodes are called a multi edge and the graph is called a multigraph. If edges are directed, i.e. one node is the source, while the other is the target, the graph is called directed (also: digraph). For any directly connected node pair in a directed graph, one node is the predecessor (the source of the edge, source(e)) and the other one is the successor (the target of the edge, target(e)). Edges can have a weight w i associated with them, which is usually a real number. Depending on the application domain and data set, edge weight can mean different things, such as frequency of calls between persons, strengths of signals between antennas or number of messages between computers. A graph with weighted edges is called a weighted graph. An edge with the same source and target is called self edge. Combinations of graph types are possible, for example, a directed multigraph with self-edges (alternatively: directed graph with multiple and self edges). A simple graph has neither multi-or self-edges nor directed or weighted edges.

A path is a sequence of connected nodes in G, with one node being the start and another being the end. In directed graphs, all edges between nodes in a path must point into the same direction. If there are at least two paths between two nodes in G, the shortest path is the path with less nodes, also called hops between nodes. If the start and end nodes of the path are the same, the path is a cycle. Cycles in directed networks are called closed walks.

A subset of nodes and edges in G is called a subgraph G = (N , E ) with ∀e ∈ E ⇒ source(e) ∈ N ∧ target(e) ∈ N . A graph partition is a division of G into a set of nonoverlapping subgraphs, i.e. K i K j = / 0 ⇒ i = j. The set of all edges that connect nodes in two subgraphs is called agraph cut. Removing these edges splits the graph into disconnected components, i.e. there exists no path between any two nodes from different components. By convention the path length between two nodes in unconnected components is infinite.

A k-partite graph is a graph that can be partitioned into k partitions so that edges exist only between nodes of different partitions. In other words, all edges in E are in the graph cut. In the case where k = 2, the graph is called a bigraph.

Graph motifs are subgraphs with specific topological structures, such as groups, cliques, cycles, and stars (fans). A group is a set of nodes with a high number of edges between them. In the case where all pairs of nodes in a group are connected, the group is a clique (fully connected group). A star is a node n with many neighbors where none of the neighbors is directly connected to another neighbor of n. A star is a special type 2.1. Graphs Figure 2.2.: Motifs in a protein-interaction network (left) abstracted in a visualization called Power Graphs (middle) [START_REF] Royer | Unraveling protein networks with power graph analysis[END_REF].

of bigraph; one component is the central node, the other are its neighbors. In directed networks, stars with more outgoing nodes are called hubs, while sinks are stars with more incoming edges. In practice, specific motifs exist for any domain that uses graphs for calculation or data analysis [START_REF] Yeger-Lotem | Network motifs in integrated cellular networks of transcription-regulation and protein-protein interaction[END_REF] [START_REF] Royer | Unraveling protein networks with power graph analysis[END_REF]. Figure 2.2 shows a set of motifs with two to three nodes from biology.

Graph Measures

Graph measures quantify characteristics of a graph and its elements. Measures on nodes include the number of neighbors (degree), predecessors (in-degree) and number of successors (out-degree). Degree is one way to indicate the importance of a node in the network. The higher its degree, the more it is more integrated. Another important centrality measure is the number of shortest paths that a node is part of (in-betweenness centrality). Nodes that connect two densely connected components have a high inbetweenness centrality. Removing nodes with high centrality makes the network unstable and can break the network into unconnected components. More information on network measures and centrality measures can be found in [START_REF] Brandes | Visone -Analysis and Visualization of Social Networks[END_REF].

A graphs has a size that indicates the number of nodes in the graph (|N|). Edge density is used to characterize graphs as sparse, dense, or fully-connected. Graph density is a visually important characteristic that poses numerous challenges to graph visualization. For density, several measures exist; not only depending on whether the graph has directed and/or self edges, but what density means for the visual density of graphs [START_REF] Melanc ¸on | Just how dense are dense graphs in the real world?: A methodological note[END_REF].

The equation:

density 1 (G) = 2|E| |N| * (|N| -1)
expresses the ratio of existing edges to possible edges. However, in this case density grows exponentially with the number of nodes, i.e. visual density does not increase linearly. One alternative equation where density grows linearly, is

density 2 (G) = |E| |N|
indicating the ratio between edges and nodes.

The diameter of a graph is the longest shortest path, i.e. the maximal number of hops necessary to reach every node from every other one. Dense graphs usually have small diameters, since nodes are highly connected. However, density does not account for where nodes connect to. The local clustering coefficient c l in undirected graphs for a node n indicates how much a node is part of a group (or clique) and is the ratio between the existing edges between the neighbors of a node n and the possible edges between them. That is, given a graph G = (N , E ), with N = {m ∈ N|∃e ∈ E, e = (n, m)} and

E = {e ∈ E|e = (m 1 , m 2 ), m 1 , m 2 ∈ N }, then c l (n) = density 1 (G )
The global clustering coefficient c g in a graph G results from:

c g (G) = 1 |N| N ∑ n c l (n)
An important trait of a graph is whether it has small-world characteristic [START_REF] Watts | Collective Dynamics of 'Small-World' Networks[END_REF]. In small worlds, paths between any two nodes are relatively short and the average path length only grows logarithmically with the number of nodes. Because of the short path length, for example, diseases or messages spread faster than in randomly connected networks. However, in order to asses if a graph is a small world graph, two measures with particular values are necessary:

• low average path length, and • a high average clustering coefficient.

Small worlds are interesting not only because they are very frequent, but also because they describe an in-between state between a regularly structured network and a randomly wired network Figure 2.3. Another important measure is the distribution of node degree. Scale free networks, described by [START_REF] Barabási | Emergence of Scaling in Random Networks[END_REF], have a power law distribution of node degrees meaning that there are few nodes with a high degree, but many nodes with low degree.

Graphs p=0 p=1

Increasing randomness Regular Small-World Random Representative examples of complex graphs, described along three dimensions Heterogeneity, Randomness, and Modularity [START_REF] Sole | Information Theory of Complex Networks: On Evolution and Architectural Constraints[END_REF].

Nodes with a high degree shorten paths between nodes, in a sense the network becomes small. Showing that a particular network has power-law degree distribution allows to reason about its stability and vulnerability to random node removal; the likelihood that the network splits into disconnected components if particular nodes are removed.

Figure 2.4 illustrate further types of complex graphs and their characteristics in a "space", described along three dimensions: randomness, heterogeneity, and modularity [START_REF] Sole | Information Theory of Complex Networks: On Evolution and Architectural Constraints[END_REF]. The figure demonstrates the need for visualization, as well as the variety of visual and topological patterns in these graphs. Translated to dynamic networks, each of these graphs is likely to produce individual patterns of change. More interestingly are the dynamic processes over time that organize a network into one of these particular ways. Figure 2.5.: Conversion between (orbital) temporal units [START_REF] Aigner | Visualization of timeoriented data[END_REF].

Networks

According to [START_REF] Von Landesberger | Visual analysis of large graphs: State-of-the-art and future research challenges[END_REF], the term network in visualization refers to a graph where nodes or edges are associated with attributes. Sometimes attributes are graph measures, referred to as topological attributes (J. [START_REF] Ahn | A Task Taxonomy for Network Evolution Analysis[END_REF]. Alternative terms for networks are attributed graph [START_REF] Xu | A model-based approach to attributed graph clustering[END_REF][START_REF] Zhou | Clustering large attributed graphs: An efficient incremental approach[END_REF] and multivariate network (or graph) [START_REF] Wattenberg | Visual exploration of multivariate graphs[END_REF][START_REF] Pretorius | Visual analysis of multivariate state transition graphs[END_REF].

A network is defined as N = (N, E, A N , A E ) with A N (n) : N → V and A E (e) : E → V being functions that map a node or an edge to a set of attributes V . Values can be of any type, including numerical and alphanumerical values, and depend on the data model used. If nodes and edges have explicit types (or modes) assigned, such as persons and institutions, the corresponding graph is called heterogeneous or multi-mode network.

An important aspect of visualizing graphs is to find a good layout that satisfies certain aesthetic criteria [START_REF] Purchase | Empirical evaluation of aestheticsbased graph layout[END_REF]. Visualizing networks faces multiple problems related to the presence of multidimensional information in addition to topology [START_REF] Herman | Graph visualization and navigation in information visualization: A survey[END_REF][START_REF] Von Landesberger | Visual analysis of large graphs: State-of-the-art and future research challenges[END_REF].

Dynamic networks can be seen as networks with temporal attributes on nodes and edges, plus additional information about the presence of nodes and edges. Yet time is a particular data type, as detailed in the next section.

Characteristics of Time

Time appears simple since it progresses linearly. It is divided into a past, a present and a future. Events in the past cannot made un-done, while events in the future are unknown, and present is where events happen. Yet time is a much more complex, and several ways have been proposed to describe and structure time. For example, time can also be thought of as being circular and recurrent, based on temporal units such as days, weeks, months, years and seasons, called granules [START_REF] Aigner | Visualization of timeoriented data[END_REF]. This section describes the basic notions of time, temporal granules and their relations.

Temporal Granularity

Time is structured using many different granules which differ in their duration as well as beginning and ending time. For example:

• orbital units (seconds, minutes, hours, days, weeks, months years),

• domain-specific organizational units (fiscal year, academic year),

• biological cycles (REM sleep cycles, hormone cycles),

• cycles in nature (tide, seasons), or • planning units (working steps, milestones).

Any coherent system of granularities, which allows for conversion between granularities, is called a calendar. Some granules are easy to convert (e.g., seconds and minutes), others overlap (e.g., weeks and months) and cannot be converted without knowing the exact time points (Figure 2.5). Units on the same granularity level (a) do not overlap, and (b) are close. Close means that between two units (e.g., two days), there is no gap other than another instant of that same unit (another day). The smallest temporal unit in any system is called the chronon. The smallest temporal unit in nature is the Planck 2. State of the Art time which captures the minimal time that is required to change a state in the universe. A Planck time unit is 5.3906 × 10 -44 seconds1 . While the linear model of time allows us to understand and measure duration and order of events in time, circular time helps in understanding granularity and cyclic patterns in events, for example, by comparing values across the same weekday. Common visualizations are spirals (Figure 2.6(a)) and tables (Figure 2.6(b)).

A common notion of time is that of continuous or discrete. Continuous time means that every time point can be associated with data. Discrete time means that there are "gaps" between time points. Yet, in practice the difference is that of the level of temporal granularity. A data set that uses milliseconds to time events may not be appropriate to visualize the evolution over years. Discretizing time means aligning events from a low granularity (e.g., milliseconds) to a higher granularity (e.g., months). The difference is whether data is sampled, i.e. some low level granularity time points are representative for higher-level ones, or whether values and events are aggregated over the low-level time points. For example, weeks can be sampled by extracting the events and values for each Monday. Aggregation takes all events within this week into account and averages values.

Events and Values

Time on data can be described in two ways: events and time series. Time series reflect the evolution of ordinal or numeric attributes and are associated to a data object for any time point, such as the daily temperature at a specific place. Events indicate state changes and either describe:

• changes in a nominal attribute (e.g., presence of a node in the network: add, remove), • describe changes in a non-nominal attribute, such as increase by x, or decrease by

x.

• describe a single occurrence in time, such as a metro incident or the presence of smog in the city.

While time series exist for any point in time (at least during a certain period), events do not necessarily exist for any time point. Yet, events can have a duration.

Temporal Primitives and Relations

When analyzing time, the important information is when and in what order something happens, as well as how long it takes. In order to describe temporal data and relations between data in time, we need temporal primitives, associated to data. [START_REF] Aigner | Visualization of timeoriented data[END_REF] describe the following temporal primitives. I indicate alternative terms in brackets. • An instant is a unique time point at an arbitrary level of granularity. An instant can be a specific second, a day or a year. Figure 2.7(a) illustrates instants at the lowest granularity level, while Figure 2.8(b) shows an instant that represents an interval on a higher-level of temporal granularity. Instants on different levels of granularity follow the same rules as units: they are non-overlapping and close. • An interval (period) is defined by either two instants or by an instant and a duration. The instant can mark the beginning of the interval, or its end (Figure 2.8(a)). An interval spans a sequence of instants. • A span indicates a duration and is not related to any particular time, i.e. it is a relative temporal primitive. Examples for spans are "two hours" or "three weeks". Instants and intervals are absolute temporal primitives because they are specified at a particular time.

"Monday, May 20, 2013" represents an instant, while "Monday, May 20, 2013, 00:00 -Tuesday, May 21, 2013, 00:00" is an interval, although the designated time is the same. That is, the notion of interval and instant depends on the current level of temporal granularity.

Temporal relations in data (before, after, longer than) can be described as relations between temporal primitives (Figure 2.8).

• Two Instants: Two instants A and B, within the same level of granularity, are either in sequence (before, after), or equal.

• Interval and Instant: An interval can be before or after an instant, can start or end at an instant, or can contain an instant (Figure 2.8(a)).

• Two Intervals: [START_REF] Allen | Towards a general theory of action and time[END_REF] describes seven possible relations between two intervals (13 including symmetry), illustrated in Figure 2.8(b). Independent from their duration, intervals can be in sequence (before, after), touching each other (meet), overlap, start or finish at the same time, one being completely contained by the other or both intervals happen in parallel (equal).

Dynamic Networks

Dynamic networks are networks with some component that changes over time (timevarying). Many different terms occur in literature to describe such networks:

• time-varying, e.g. [START_REF] Hoppe | Mutual selection in time-varying networks[END_REF]; [START_REF] Nicosia | Graph metrics for temporal networks[END_REF],

• temporal, e.g., J.-W. [START_REF] Ahn | Temporal visualization of social network dynamics: prototypes for nation of neighbors[END_REF]; J. [START_REF] Ahn | A Task Taxonomy for Network Evolution Analysis[END_REF], • longitudinal, e.g., [START_REF] Moody | Dynamic Network Visualization: Methods for Meaning with Longitudinal Network Movies[END_REF]; Brandes and Nick (2011),

• evolving, e.g. [START_REF] Erten | GraphAEL: Graph animations with evolving layouts[END_REF],

• dynamic, e.g., [START_REF] Archambault | Mental map preservation helps user orientation in dynamic graphs[END_REF]; [START_REF] Diehl | Graphs, they are changing -dynamic graph drawing for a sequence of graphs[END_REF]; [START_REF] Saffrey | The "mental map" versus "static aesthetic" compromise in dynamic graphs: a user study[END_REF]; [START_REF] Bender-Demoll | The Art and Science of Dynamic Network Visualization[END_REF],

While terms significantly differ across domains, to the best of my knowledge, there are no fundamental differences in their definition. Dynamic network seems to be the most frequently used term in the information visualization literature, so throughout this dissertation I use dynamic network as opposed to static network.

The following list contains a small typology of dynamic networks, based on which elements (nodes, edges, attributes) are affected by change; literature has not yet provided such a categorization.

• Varying connectivity: Edges are added or removed, nodes remain in the network, even if not connected, e.g. face-to-face conversation between people. to the other, such as messages between people, signals between devices, or vehicles in a transportation network. The actual network topology functions as a carrier of events, i.e. only if two nodes are connected, events can be passed between both nodes. Multiple individual messages can travel along the same physical connection between machines, and multiple individual cars travel along the same roads. Changes in connectivity can be described by frequency of events (messages, cars, etc.) or changes in the underlying connection (loss of connection between machines, road work, etc.).

Each model conveys particular information and combinations of these cases are possible, for example a network with varying edge weight and varying node presence. More important, a network can be expressed in different ways. For example, vehicles between cities (transactions) can be modeled as attribute-varying, where the number of vehicles per hour indicates edge weight.

Dynamic Network Exploration

Analysis and exploration of dynamic networks can be divided into two major scenarios: online and offline.

Online scenarios

In online scenarios the network is explored while data gets still updated and the visualization has to be updated as well. Examples for online scenarios are the monitoring of computer and traffic networks. The task focus in online scenarios is on judging current events and developments, such as abnormal behaviours and exceptions.

Offline scenarios

In an offline scenario, the entire network is present at the time of observation, i.e. data does not update. social networks or brain connectivity data resulting from cognitive experiments. The focus in offline scenarios is on the analysis and exploration of the entire network in order to estimate trends in evolution, sequences of events as well as causalities.

The particular scenario has an important influence, for example, on the choice of layout: online scenarios require layouts that remain stable while future topologies are unknown. In offline scenarios, an stable graph layout can be calculated and remains fixed (see Section 2.7).

Definitions for Dynamic Networks

A dynamic network D = (N, E, T ) consists of a set of nodes N, a set of edges E, and a set of time points T . If D has attributes associated to nodes and edges, two functions A N (a, n,t) and A E (a, e,t) return the value of attribute a on node n or edge e, for time t. For each dynamic network, an ordered set of time steps

[G 0 , G 1 , G 2 , ...G |T |
] is called a sequence, with G t being a static representation of D at time t (Figure 2.9(a)).

Nodes N t and edges E t are subsets of N and E respectively, whereby all incident vertices of all edges in E t have to be in N t . G t-1 is called the preceding time step, while G t+1 is called the succeeding time step. Preceding and succeeding time steps are adjacent to G t . Since time steps compare to instants, and instants are close, no information is lost between two adjacent time steps; any event in the network is captured in either time step.

Nodes and edges are associated with a birth, which refers to the first instant they enter the network, and a death, referring to the last time step before they leave the network. Both nodes and edges can be re-inserted into the network The time between birth and death is called lifespan and nodes may re-enter the network after they have have been removed from it. The supergraph [START_REF] Diehl | Preserving the mental map using foresighted layout[END_REF]) S = (N, E) is the graph that contains all nodes and edges present in at least one time step of D. For the quantification of dynamic networks, measures for static graphs can be calculated for every time step individually and then observed over time. Furthermore, a range of metrics for dynamic networks there has been described [START_REF] Nicosia | Graph metrics for temporal networks[END_REF]. For example, two nodes n 0 and n i are connected by a temporal path if there exist a sequence of edges [(n 0 , n 1 ), (n 2 , n 2 ), ..(n i-1 , n i )] where each edge (n p-1 , n p ) is prior to the adjacent edge (n p , n p+1 ). The temporal distance of two nodes is consequently defined as the duration between the first and last connection. The distance between two graphs G 1 = (N 1 , E 1 ) and G 2 = (N 2 , E 2 ) can be calculated in many different ways [START_REF] Bilgin | Dynamic network evolution: Models, clustering, anomaly detection[END_REF]. One possibility is the size of the common subgraph [START_REF] Bunke | A graph distance metric based on the maximal common subgraph[END_REF]:

distance(G 1 , G 2 ) = |N 1 ∩ N 2 | max(|N 1 |, |N 2 |)
Federico, Pfeffer, Aigner, Miksch, and Zenk (2012a) measure the ratio between added and removed nodes in the neighborhood of a node and define a change centrality metric. The value effectively quantifies the change in a node's neighborhood. As a direct use of change centrality, Federico et al. suggest to use it to stabilize the layouts; nodes with high change centrality must be allowed to move more, while those with low change centrality may keep their positions.

Models

Static networks can be represented in different forms, such as edge lists or adjacency matrices. Similarly, dynamic networks can be stored and thought of in different ways: snapshots, events, and time series. Pajek (Pajek -Program for Large Network Analysis, 1997) is a commonly tool for network analysis (providing layout algorithms for node-link diagrams, data structures for network analysis, network analysis measures, etc.) and supports all three kinds of representations.

Snapshots Snapshots represent the network's state and topology for every instant. The term "snapshot" comes from photography and in terms of dynamic networks can capture data from a longer time interval (cf. Figure 2.8(b)). For example, Pajek can export adjacency matrices, one for every time step. Node and edge presence, as well as attribute values are encoded explicitly within each snapshot. Birth events and lifetimes must be inferred by comparing individual snapshots.

Events

In online scenarios, data may be described as events which update the current data. Other (raw) data is in the form of individual events, such as e-mail messages or faceto-face conversations between people, or people entering or leaving a discussion room. Events can correspond to instants (node birth, node death) or intervals (conversation [START_REF] Mrvar | Analysis and visualization of temporal networks using pajek[END_REF].

between people). Internally, Pajek uses events to describe changes to the network, summarized in Table 2.1 (Pajek uses the term arcs for directed edges). Events describe a change on nodes and edges that happen in a single instant. Events in Pajek describe simple events on the network topology.

Time Series

Alternatively to multiple matrices, Pajek can encode dynamic networks as time series of node and edge presence. The following shows an excerpt from how Pajek stores networks inside a .paj file.

The example defines three nodes; a, b, and e. Time steps where nodes and edges are present in the network are indicated in squared brackets. Node a is present in time steps 5 to 10 and 12 to 14, node b from 1 to 3 and in time step 7, and node e is present from 4 on (till the very last time step). Edges exist between nodes 1 and 2 in time 7 and between 1 and 3 (with weight 1) from time 6 to 8. Time series can also represent attribute values over an interval of instants.

Snapshots, events and time series represent the same data, although each may be more suited for certain queries and use cases. Conversion between these is possible: individual events can be aggregated into snapshots; time series can be inferred from snap shots (cf. Figure 2.9); events can be derived from both, and vice versa.

Temporal Granularity and Aggregation

Temporal granularity is an essential aspect of dynamic network exploration. [START_REF] Moody | Dynamic Network Visualization: Methods for Meaning with Longitudinal Network Movies[END_REF] summarize that any (dynamic or static) network structure is a rather artificial construction that emerges only from "aggregating dead past events" [START_REF] Moody | Dynamic Network Visualization: Methods for Meaning with Longitudinal Network Movies[END_REF](Moody et al., , p. 1208)). A network that describes messages sent between people does not exist in permanence and does not "change" from one second to the next. In fact, the network's particular topology depends on the interval that is aggregated; topology and the visible structure depends on the size of the chosen time frame (or time window).

Finding the right size of temporal granularity is important for visual network exploration. Figure 2.10 shows the same network at different levels of temporal granularity. The bottom line shows snap short at a very fine temporal granularity, while the top most graph shows the supergraph, i.e. at the highest temporal granule. Networks at low granularity contain too little information to see any topological patterns, while the highest granularity levels show too many connections and loose information about time. Yet, the duration of a connection is of major importance to temporal aggregation.

Types of Connectivity

Nodes in dynamic networks usually represent persistent entities in the data, such as persons, countries or neurons. However, edges in dynamic networks can have multiple interpretations, depending on the data domain. Here, I introduce the following grouping, illustrated in Figure 2.11.

• Instantaneous edges are single events between two nodes and without any duration (Figure 2.11(a)). Instantaneous edges represent messages between people or computers, or signals between neurons in the brain. They have no duration, only a single time stamp. • Transmissive edges represent moving objects such as airplanes, metro trains, blood cells or abstract transmissions in progress. Such edges have a start and an end time (Figure 2.11(b)). Between start and end, their state conveys the fraction where the moving object is. • Persistent edges can also have a duration, but represent permanent states, such as anatomic connections between neurons, the existence of a flight route, or friendship between individuals (Figure 2.11(c)).

While each of these types imply a proper data model and individual visualization, they all can be modeled as edges in a network, depending on the temporal granularity.

Time Windows

A time window W represents a temporal span of duration d. An interval [p, q] that is defined by W , defines a graph sequence

[G p , G p+1 , ...G q-1 , G q ]. W can define a supergraph S = (N , E ) with N = N i , i ∈ [p, q] and E = E i , i ∈ [p, q]
. Multiple time windows could be defined, while two windows W 1 and W 2 can overlap. Figure 2.12 illustrate a time window between two time points ("slice points"), while horizontal gray bars indicate the lifetime of certain nodes and edges ("arc"). Whenever a node or edge is present inside a time window, it is part of the supergraph's topology for that time window. In the example, the time window contains all nodes and arcs.

Network Visualization

In Figure 2.10, graphs are aggregated from the bottom to the top, from the top to the bottom de-aggregated or decomposed. Given a time window W with a sequence [G p , G p+1 , ...G q-1 , G q ], the supergraph S = (N , E ) which results from W is the graph for the next higher level of granularity.

If nodes and edges in D have numerical attributes with associated time series, we can define an aggregation function for each attribute. This function returns a single measure for the attribute value between two time points. Common aggregated values from a series of values are average, median, min, max, number and sum (cf. [START_REF] Elmqvist | Zame: Interactive large-scale graph visualization[END_REF]Elmqvist & Fekete, 2010).

In summary, most static networks can be seen as both a snapshot of a dynamic network or a completely aggregated dynamic network.

Network Visualization

The visualization of networks is related to several issues:

• the description of tasks that user's perform when exploring and analyzing a network, • visual representations, such as node-link diagrams, matrices, arc diagrams [START_REF] Wattenberg | Arc diagrams: Visualizing structure in strings[END_REF], etc., • graph layouts (graph drawing) and matrix reordering algorithms, • user navigation in networks,

• clustering and aggregation for compound graphs,

• visual encoding of nodes, links and their attributes, as well as

• applying and developing evaluation methods for empirically assessing the effectiveness of network visualizations.

This section first gives an overview of the most common representations for networks and their visual encodings, and then briefly discusses general problems in visualizing (static) networks.

Visual Graph Representations

A graph representation describes the general visual representation of nodes and edges and how connectivity is encoded visually. Figure 2.13 shows a systematic design space of graph representation techniques and layouts, compiled by Bertin (1973). Some of these techniques have not been used yet, others have been used frequently and obtained proper names, for example: Arc Diagram (1), Circular Layout / Ring Layout (4), Node-link diagram (7), Containment diagram (10), Directed Acyclic Graph or Tree [START_REF] Brandes | Asymmetric Relations in Longitudinal Social Networks[END_REF], Adjacency Matrix (20).

The following presents visualization techniques for the two most common representations: node-link diagrams and adjacency matrices.

Node-link Diagrams

Node-link diagrams have been used for most of the techniques in graph visualization and their advantage is that they are easy to understand and more intuitive than adjacency matrices (see next subsection "Adjacency Matrices").

Node-link diagrams are usually displayed using 2D layouts, rarely 3D layouts (e.g. [START_REF] Balzer | Level-of-detail visualization of clustered graph layouts[END_REF]. The field concerned with finding layout algorithms is called graph drawing. Layout algorithms try to satisfy a number of aesthetic criteria, which are measures that characterize the human readability of the layout, i.e. the graph [START_REF] Purchase | Which aesthetic has the greatest effect on human understanding?[END_REF][START_REF] Purchase | Effective information visualisation: a study of graph drawing aesthetics and algorithms[END_REF][START_REF] Purchase | Metrics for Graph Drawing Aesthetics[END_REF] and many studies on graph layout techniques have been conducted [START_REF] Dwyer | A comparison of user-generated and automatic graph layouts[END_REF]. Examples of such criteria are (a) minimize edge crossings, (b) minimize edge bends, (c) maximize symmetry, (d) minimize total drawing area, (d) place connected nodes close to each other, and (e) prevent nodes from overlapping.

Techniques for creating layouts include, but are not limited to the techniques described in the first column in the upper table in Figure 2.13 (numbers in brackets refer to the corresponding case):

• force-directed approaches (7), e.g., [START_REF] Fruchterman | Graph drawing by force-directed placement[END_REF]; [START_REF] Kamada | An algorithm for drawing general undirected graphs[END_REF], • geometric optimizations, a sub-type (7), e.g. [START_REF] Eades | Handbook of Graph Drawing and Visualization[END_REF] • circular layouts ( 4), e.g. [START_REF] Six | Handbook of Graph Drawing and Visualization[END_REF] • layouts for clustered compound graphs, ( 7) and ( 10) , e.g. [START_REF] Bertault | An algorithm for drawing compound graphs[END_REF]; [START_REF] Frishman | Dynamic drawing of clustered graphs[END_REF]), • layered layouts for directed acyclic graphs, [START_REF] Brandes | Asymmetric Relations in Longitudinal Social Networks[END_REF], e.g. [START_REF] Sugiyama | Methods for visual understanding of hierarchical system structures[END_REF], or • topographical structures, a sub-type of ( 7), e.g. [START_REF] Archambault | Topolayout: Multilevel graph layout by topological features[END_REF] Further information on graph layouts can be found in [START_REF] Battista | Graph drawing: Algorithms for the visualization of graphs[END_REF]Tollis (1998), von Landesberger et al. (2011), as well as [START_REF] Tamassia | Handbook of Graph Drawing and Visualization[END_REF]. However, the main problem with node-link diagrams remains graph density, since dense graphs result in more lines crossing and overlapping. At the same time, node positions may be less representative for node connection in dense networks (criteria (d)), since any node has a large set of neighbors.

Many network visualization systems support node-link diagrams, such as the representative selection. While JUNG [START_REF] O'madadhain | JUNG -Java Universal Network/Graph Framework[END_REF] and Tulip [START_REF] Auber | Tulip : A huge graph visualisation framework[END_REF] are programming libraries, Pajek (Pajek -Program for Large Network Analysis, 1997), Cytoscape (Cytoscape: An Open Source Platform for Complex Network Analysis and Visualization, 2013), Gephi [START_REF] Bastian | Gephi: An open source software for exploring and manipulating networks[END_REF], Orion [START_REF] Heer | Orion: A system for modeling, transformation and visualization of multidimensional heterogeneous networks[END_REF] or Ploceus [START_REF] Liu | Ploceus: Network-based visual analysis of tabular data[END_REF] are applications that allow users to visualize their own data. Cytoscape and Gephi also provide APIs for developers to write plugins. NodeXL (NodeXL: Network Overview, Discovery and Exploration for Excel, n.d.) is an Excel extension to visualize tables as networks. NodeXL features several extensions such as motif simplification [START_REF] Dunne | Motif simplification: improving network visualization readability with fan, connector, and clique glyphs[END_REF] and visualization of dynamic networks (J.-W. [START_REF] Ahn | Temporal visualization of social network dynamics: prototypes for nation of neighbors[END_REF]. All of the mentioned systems support multiple layout algorithms, apply different colors to nodes and visualize clusters.

A further commonly used type of node-link diagrams are arc diagrams, which order nodes in one dimension (Figure 2.13(1)), while showing links between nodes as visual arcs (e.g. [START_REF] Wattenberg | Arc diagrams: Visualizing structure in strings[END_REF][START_REF] Neumann | ArcTrees: Visualizing relations in hierarchical data[END_REF].

Adjacency Matrices

Adjacency matrices represent nodes as rows and columns, while edges correspond to matrix cells. Adjacency matrices do not suffer from the problem of edge-crossings and can visualize dense and fully-connected graphs. Although matrix representations have been in use for a long time (Bertin, 1973;[START_REF] Ziegler | Matrix browser: Visualizing and exploring large networked information spaces[END_REF][START_REF] Abello | Matrix zoom: A visual interface to semi-external graphs[END_REF][START_REF] Liiv | Seriation and matrix reordering methods: An historical overview[END_REF], they have not received wider attention until the controlled user study by [START_REF] Ghoniem | On the Readability of Graphs Using Node-Link and Matrix-Based Representations: Controlled Experiment and Statistical Analysis[END_REF] showed that matrices outperform node-link diagrams on most tasks, except finding a path between two nodes. Similar to a graph layout, matrices require an ordering on the nodes (ordering of rows and columns) in order to make particular connection patterns emerge inside the matrix. Matrix ordering is an optimization problem that tries to minimize the euclidean distance [START_REF] Henry | NodeTrix: a hybrid visualization of social networks[END_REF]. (b) Matlink showing links between nodes (columns) to support path following (Henry & Fekete, 2007).

between adjacent rows and columns. A summary of matrix reordering techniques can be found, for example, in [START_REF] Liiv | Seriation and matrix reordering methods: An historical overview[END_REF] as well as [START_REF] Henry | The pattern labeled with an A shows a star motif, while pattern B shows a dense cluster[END_REF]. Some networks are only dense on a local level, that is they contain dense groups, and few connections between groups. As Figure 2.14 shows, such networks cause much space in the matrix to remain empty. Matrix Explorer [START_REF] Henry | The pattern labeled with an A shows a star motif, while pattern B shows a dense cluster[END_REF] shows a node-link diagram and a matrix side-by-side using brushing and linking to relate graph elements in both representations. NodeTrix (Figure 2.15(a)) integrates matrices directly into node-link diagrams (Henry et al., 2007), which facilitates the visualization of dense components in networks, while edges between dense groups are shown as lines. This technique was later extended to heterogeneous networks [START_REF] Bach | Visualizing Populated Ontologies with OntoTrix[END_REF].

Visually, there are two major drawbacks with matrices: finding paths between nodes and dealing with the empty visual space in sparse networks. Following paths in symmetric matrices (directed graphs) results in following a row until a connection is found, then traversing that column until the next connection is found and so on. In short, following paths in matrices is highly cognitive work. To facilitate finding and following paths between two nodes, Henry and Fekete (2007) show links between columns on matrices (Figure 2.15(b)) while [START_REF] Sheny | Path visualization for adjacency matrices[END_REF] connect cells in the matrix by lines. Other common approaches indicate the shortest path distance between any node pair as value in the corresponding cells.

In order to reduce the empty visual space in large matrices, [START_REF] Elmqvist | Zame: Interactive large-scale graph visualization[END_REF] aggregate the network by combining nodes into meta-nodes and effectively reducing the number of nodes. [START_REF] Elmqvist | Mélange: Space folding for multi-focus interaction[END_REF] use folding of the 2D space to compare distant rows. [START_REF] Dinkla | Compressed adjacency matrices: Untangling gene regulatory networks[END_REF] compress matrices and [START_REF] Bezerianos | Geneaquilts: A system for exploring large genealogies[END_REF] remove quasi-non existent cells to visualize directed acyclic graphs.

Problems in Network Visualizations

Large Networks Not only do large networks pose significant problems to a visualization and a user's perception, also calculating layouts and managing large numbers of nodes in memory is challanging. While some layouts are less time intense to calculate (e.g. [START_REF] Kamada | An algorithm for drawing general undirected graphs[END_REF], the GPU (graphics processing unit) can be used to calculate layouts [START_REF] Frishman | Online dynamic graph drawing[END_REF]. Multilevel graph layouts decompose the network into hierarchical layers and then calculate a layout independently for each cluster in parallel. Layers can stem, for example, from a hierarchical clustering [START_REF] Walshaw | A multilevel algorithm for force-directed graph drawing[END_REF], or topological features [START_REF] Archambault | Topolayout: Multilevel graph layout by topological features[END_REF]. Alternatively, only a part of the network can be visualized at a time. As users change the scope, additional elements are displayed, while others get removed. Corresponding techniques are further discussed in Section 2.5.

Dense Networks Since matrices do not suffer from edge-crossing issues, they are commonly used to visualize dense networks. If matrices cannot be used, for example because nodes have geographic positions that must be presented, density in node-link diagrams can be reduced by filtering connections, for example those with low weights. An effective method is presented by [START_REF] Holten | Hierarchical edge bundles: Visualization of adjacency relations in hierarchical data[END_REF] who bundle links with similar source or target regions. Another solution are lenses that locally remove edges that are not connected to the nodes in the lens' focus [START_REF] Tominski | Fisheye tree views and lenses for graph visualization[END_REF].

Multivariate Networks Links in node-link diagrams can show directionality [START_REF] Holten | A user study on visualizing directed edges in graphs[END_REF] and multi-edges can be visualized by arcs [START_REF] Henry Riche | Exploring the design space of interactive link curvature in network diagrams[END_REF]. Extending the NodeTrix technique (Henry et al., 2007), OntroTrix [START_REF] Bach | Visualizing Populated Ontologies with OntoTrix[END_REF] uses a specific color encoding of matrix cells as well as allows for reorganizing matrices by interactive node reordering, as well as splitting and merging matrices. Pivot graphs [START_REF] Wattenberg | Visual exploration of multivariate graphs[END_REF] show a node for every attribute value, while links between these nodes represent actual relations in the network.

Compound Networks If networks get large, subgraphs can get abstracted by meta nodes and edges between them represented as meta edges [START_REF] Eades | Multilevel visualization of clustered graphs[END_REF][START_REF] Shen | Visual analysis of large heterogeneous social networks by semantic and structural abstraction[END_REF]. Motif simplification replaces certain graph motives, such as fans, and cliques by perceptually simple glyphs such as rhomboids or circle sectors [START_REF] Dunne | Motif simplification: improving network visualization readability with fan, connector, and clique glyphs[END_REF]. Hierarchies of clusters can be represented using common tree representations, such as nested circles [START_REF] Archambault | Grouseflocks: Steerable exploration of graph hierarchy space[END_REF], rectangles [START_REF] Neumann | ArcTrees: Visualizing relations in hierarchical data[END_REF], or treemaps [START_REF] Fekete | Overlaying links on treemaps[END_REF]. Overlapping subgraphs pose further problem when visualizing graphs. Corresponding techniques have been developed using Euler diagrams [START_REF] Henry-Riche | Untangling euler diagrams[END_REF], LineSets [START_REF] Alper | Design Study of LineSets, a Novel Set Visualization Technique[END_REF] and as fuzzy communities [START_REF] Vehlow | Visualizing fuzzy overlapping communities in networks[END_REF].

Network Navigation

Many graphs are too big to fit on screen while remaining readable. Even if they do, users may not be interested in all parts of the graph at the same time. Only a part of the network can be shown, while users navigate through the graph in order to reveal different parts. Graph navigation techniques define and adjust the visible part of the graph, such as panning defines the position, and zooming the viewing distance of the viewer with respect to the data. While pan and zoom techniques are performed on the view (view navigation) and are independent from the underlying visualization technique, graph navigation techniques rely on the graph's topology to define what is made visible to users.

Graph navigation is performed by interaction, as only the user can decide what he is interested in and change his focus accordingly [START_REF] Von Landesberger | Visual analysis of large graphs: State-of-the-art and future research challenges[END_REF]. In analogy with the information visualization pipeline [START_REF] Card | Readings in Information Visualization, Using Vision to Think[END_REF], we can describe navigation on each of the pipeline's steps; navigation in data space (network structure), navigation in the visualization, and navigation in the view. In this section, I categorize graph navigation techniques into four groups, whereby techniques from different groups can be combined in the same interface. In each of these groups, horizontal navigation refers to a change in the subgraph that is seen, while vertical navigation refers to the number of elements and/or the level of detail in the current view.

• View Navigation changes the user's position with respect to the visualization, while remaining independent from the data (time, topology, attributes, etc.) • Structural navigation changes the visible parts of the graph, • Temporal navigation changes temporal scope and granularity, and • Navigation in the visualization changes the representation on the graph within the visualization.

Among all four groups, the challenges for effective visualization include (i) interaction for navigation, (ii) visual clues while changing the visible part of the network, as well as (iii) to enable user to maintain context about the space they navigate in.

View Navigation

A simple technique for vertical navigation has been presented by [START_REF] Van Ham | Interactive visualization of small world graphs[END_REF], keeping node size fixed with respect to screen size (Figure 2.17(a)). By zooming out, nodes implicitly get combined into clusters, without calculating any clustering. However, the problem is that links in dense are (Figure 2.17(a) left, "Classical area") vanish quickly. Graph folding [START_REF] Carpendale | Graph folding: Extending detail and context viewing into a tool for subgraph comparisons[END_REF] uses a geometric fisheye on graphs and, by using multiple foci, enables direct comparison between distant subgraphs.

In order to maintain orientation while panning, Ghani and Elmqvist (2011) tested different background and node encoding techniques, such as dividing the background into colored regions, adding landmark glyphs, and color nodes according to their position in the graph. Ghani and Elmqvist conclude that background coloring in combination with landmark glyphs perform best. [START_REF] Elmqvist | Zame: Interactive large-scale graph visualization[END_REF]

Structural Navigation

Vertical Structural Navigation

Vertical navigation in networks is similar to zooming on the view level in a user interface; a low zoom level gives an overview, while a high zoom level shows the details. At a low zoom level, graph structures are aggregated into meta nodes and meta edges. [START_REF] Sarkar | Graphical fisheye views of graphs[END_REF] were the first to apply the fisheye technique [START_REF] Furnas | Generalized Fisheye Views[END_REF] to graphs by taking into account the graph's structure. The size of nodes does not depend on the spatial screen distance to the focus, but on topological distance. Fisheye techniques for graphs have then been developed that aggregate nodes which are far from the fisheye focus. [START_REF] Schaffer | Navigating hierarchically clustered networks through fisheye and full-zoom methods[END_REF], [START_REF] Gansner | Topological fisheye views for visualizing large graphs[END_REF] as well as Abello et al. (2004) and [START_REF] Van Ham | Interactive visualization of small world graphs[END_REF] calculate a hierarchical clustering on the graph and use fisheye lenses to open nodes that are close to the focus node. Figure 2.16 illustrates the usage of such a compound (Abello et al., 2004) or semantic fisheye [START_REF] Van Ham | Interactive visualization of small world graphs[END_REF]. The resulting graph shows nodes from different levels of detail in one graph (Figure 2.16(b)). Ask-Graph [START_REF] Abello | Ask-graphview: A large scale graph visualization system[END_REF]) is a comprehensive graph navigation and exploration system, allowing for interactively opening and closing clusters. It builds on previous work by [START_REF] Abello | Matrix zoom: A visual interface to semi-external graphs[END_REF] and Abello et al. (2004).

In a similar approach, [START_REF] Abello | Matrix zoom: A visual interface to semi-external graphs[END_REF] use matrices to navigate hierarchically clustered graphs and let users interactively open and close nodes in a cluster hierarchy, shown on the side as done later in Ask-Graph. The coloring of matrix cells reflects the number of edges between nodes or meta nodes. Abello and van Ham also present algorithms to manage very large graphs, by keeping only a part of the graph in memory and reloading parts of the graph from hard disk on demand. Also using an adjacency matrix, [START_REF] Elmqvist | Zame: Interactive large-scale graph visualization[END_REF] do not pre-calculate the clustering hierarchy, but nodes get aggregated as the users zoom in. When the user zooms out, two nodes [START_REF] Elmqvist | Zame: Interactive large-scale graph visualization[END_REF] being neighbors in the matrix row and column ordering become aggregated into a meta node (Figure 2.18), while matrix cells show aggregated information about the underlying edges in a single value. [START_REF] Elmqvist | Zame: Interactive large-scale graph visualization[END_REF] further proposed embedded glyphs to abstract distributions or show trends (Figure 2.19).

Horizontal Structural Navigation

Similar to panning, horizontal navigation brings other parts of the graph into focus, but remains at the same level of detail. It is also referred to as incremental navigation [START_REF] Herman | Graph visualization and navigation in information visualization: A survey[END_REF]. Horizontal navigation is for example required to find neighbors of a node in large graphs, and/or travel along paths. Furthermore, many network exploration tasks require revisiting graph elements [START_REF] Lee | Task taxonomy for graph visualization[END_REF], i.e. switch back to a node or group that have already been observed. If edges in the graph span large distances and nodes of interest are far from each other, free panning is less useful. However, the network's edges can guide the user like hyperlinks in document collections. [START_REF] Moscovich | Topology-Aware Navigation in Large Networks[END_REF] describe two such techniques for network visualization: Bring-and-go interactively brings related nodes close to the focus node (Figure 2.20(a)) and link sliding attaches the mouse cursor to a link and enables to slide along the link to the target node. Similar to bring-and-go, [START_REF] Ghani | Dynamic insets for context-aware graph navigation[END_REF] use dynamic insets, which are small portals that show the neighbors to a selected node on the margins of the screen (Figure 2.20(b)).

The principle of horizontal navigation also helps to navigate graphs that do not fit entirely in memory. Users start by a single node or a subset of nodes and their immediate neighbors, then subsequently, further neighbors of the neighbors are loaded and displayed. [START_REF] Huang | WebOFDAV: Navigating and visualizing the web on-line with animated context swapping[END_REF] call the current visible graph a logical viewing frame (Figure 2.20(c)). Whenever the user clicks a node (a website), the viewing frame is moved and nodes that are no longer part of the frame are removed from the display. Nodes that have been clicked by the user always remain visible, resulting in a history trail, similar to Nestor [START_REF] Eklund | NESTOR Navigator: A Tool For The Collaborative Construction Of Knowledge Through Constructive Navigation[END_REF].

Hyperbolic layout shows logical viewing frames in a circular tree layout and usually shows more than the direct neighborhood. Hyperbolic layouts are calculated from the spanning tree, rooted in the selected nodes given each node the same importance, depending only on the distance to the focus node [START_REF] Yee | Animated exploration of dynamic graphs with radial layout[END_REF][START_REF] Lamping | A focus+context technique based on hyperbolic geometry for visualizing large hierarchies[END_REF][START_REF] Munzner | Exploring large graphs in 3D hyperbolic space[END_REF]. van [START_REF] Van Ham | Search, Show Context, Expand on Demand: Supporting Large Graph Exploration with Degree-of-Interest[END_REF] extend Furnas' notion of degree of interest (DOI) function to graphs. If a node is shown depends on its a priori importance, e.g. its relevance with respect to a user-posed query, and on the length of the shortest path to a selected focus node. van Ham and Perer call their approach "Search, Show Context, Expand on Demand", in analogy to "Overview first, zoom and filter, detail on demand".

Navigating individual links between nodes can be time intensive. Facet Graphs [START_REF] Heim | Facet graphs: Complex semantic querying made easy[END_REF]) is a solution for set-based browsing that retrieves all neighbors of a focus set of nodes. Neighbors are grouped by type and can be used for further navigation. GraphTrail [START_REF] Dunne | Graphtrail: Analyzing large multivariate, heterogeneous networks while supporting exploration history[END_REF]) is similar to Facet Graphs but embeds visualizations in each set. Visualizations can show bar charts, world clouds or matrices. Users can filter elements using the visualizations and refine the other sets visible on the screen.

Temporal Navigation

Temporal navigation is only required in dynamic networks, unless users manipulate a static graph and require to navigate the history [START_REF] Heer | Graphical histories for visualization: Supporting analysis, communication, and evaluation[END_REF]. Similar to navigation in static networks (see Section 2.5), navigation in dynamic networks refers to moving the user with respect to the data and/or visualization, in time. That is, rather than viewing the graph at different levels of detail (horizontal navigation), or different parts of the graph (vertical navigation), temporal navigation changes the temporal focus and granularity. Changing the temporal focus means navigating along the time axis and corresponds to a horizontal navigation, while changing granularity corresponds to a vertical navigation that changes detail of the displayed data.

Horizontal Temporal Navigation Horizontal temporal navigation changes the hour, day or current time step, usually using time sliders to navigate animated sequences of the dynamic network (e.g. SoNIA [START_REF] Moody | Dynamic Network Visualization: Methods for Meaning with Longitudinal Network Movies[END_REF], TempoVis (J.-W. [START_REF] Ahn | Temporal visualization of social network dynamics: prototypes for nation of neighbors[END_REF], and Gephi [START_REF] Bastian | Gephi: An open source software for exploring and manipulating networks[END_REF]). Other techniques originate from video interfaces with play, pause, forward and backward controls. Horizontal temporal navigation with sliders is mostly linear, unless the user can move the slider head instantly to a particular time point, which causes an abrupt change in the graph sequence. A detailed description of techniques to animate changes within a sequence of graphs is given in Section 2.6.2.

Vertical Temporal Navigation

Vertical temporal navigation sets the temporal granularity of instants (see Section 2.3.4). Gephi and TempoVis allow the user to define a time window and to interactively set its start and end time, while the window is moved along a time slider.

Navigation in the Visualization

In visualization navigation, the user navigates between different visualizations on the graph, i.e. it changes the way the graph is represented. A visualization is a representation of the graph and can offer alternative views on the graph and its elements. Techniques for visualization navigation are much less intuitive to design than for structural and temporal navigation. It requires overviews and metaphors to help users orient themselves. GraphDice [START_REF] Bezerianos | Graphdice: a system for exploring multivariate social networks[END_REF] is an example that visualizes homogeneous, multivariate, and dynamic graphs by locating nodes in a scatter plot, where axes represent attribute dimensions or time. Edges between nodes are shown on top of the scatterplot. A scatterplot matrix serves as overview and interaction widget, animated transitions change axes in the scatterplot as described in ScatterDice [START_REF] Elmqvist | Rolling the dice: Multidimensional visual exploration using scatterplot matrix navigation[END_REF].

Ploceus [START_REF] Liu | Ploceus: Network-based visual analysis of tabular data[END_REF] is a system that allows users to create node-link representations of huge homogeneous graphs, where each view shows a different subset of nodes and edges, filtered by type. To define a view on the data, Ploceus provides a widget Representations are nested, similar to NodeTrix (Henry et al., 2007) or nodes are duplicated and the new visualization is shown in a portal window.

Visualizations for Dynamic Networks

While research on dynamic networks involves the same areas as visualization for static networks (Section 2.4), it faces additional problems: • Dynamic graph layout: finding a graph layout that does not change too much with the topological changes in the network over time, • Time-varying attributes: design visualization techniques that encode time and changes to graph elements and attributues, • Topology and Time: How to show topology and time at the same moment.

• Temporal navigation: enable navigation in time (horizontal and vertical).

In order to describe visualizations for dynamic networks, [START_REF] Hadlak | In Situ Exploration of Large Dynamic Networks[END_REF] propose two orthogonal dimensions: network structure and time, illustrated in Figure 2.24 2 . In any visualization, network structure and/or time can be shown unreduced, reduced or abstracted. Reducing space or time focuses on a subgraph or set of time points (horizontal structural and temporal navigation), while abstracting removes detail from either dimension. Unreduced structure and time means that the entire network is visible for every time step. The taxonomy by Hadlak et al. supports comparison compare visualizations and to discuss the tradeoff between abstracting and showing time or structure. The taxonomy clarifies what a visualization shows, but does not inform how information is (or can be) shown, i.e. how time and space are abstracted.

A survey on dynamic networks is yet missing. In this section, I introduce a simple typology of visualizations, according to how they visualize time, topology, and attributes. The typology is based on what are the visual means that encode time and topology. Later in this dissertation (Chapter 7), we define a more detailed classification that can can serve as a design space and allows to better describe, discuss and design new visualization techniques.

• Temporal Multiples: Graph snapshots are shown side by side on the screen.

• Animated Sequences: Snapshots of the graph are shown in a sequence, often employing animations between them. • Temporal Aggregations: Shows a supergraph of the dynamic network and encodes time explicitly using visual variables other than position (Bertin, 1973).

Figure 2.24.: Taxonomy for dynamic tree and network visualizations as described by [START_REF] Hadlak | In Situ Exploration of Large Dynamic Networks[END_REF]. Visualizations are grouped according to whether they abstract time (columns) or network structure (rows).

• Nesting: Changes of a node or edge attribute over time are shown in the corresponding glyphs in topological representations (node-link or matrices). • Timelines: Time is shown along one spatial dimension, while the remaining screen space is used to convey network structure. • Ego networks: Shows the evolution of a single node's neighborhood.

• Space-Time Cube representations: 3D representations of dynamic networks as space-time cubes.

In the following, I discuss visualizations in all of these groups and afterwards will refer to the few comparative studies that exist. Table 2.2 summarizes the visualizations discussed in this section.

Temporal Multiples

Temporal multiples show the network at every time step, side-by-side on the screen. This technique is often called small multiples, but the term small multiples does not refer to time explicitly. Technically, temporal multiples is the simplest technique to represent dynamic networks. One image per time step can be created with any common graph visualization systems for static networks. Pictures can then be shown in parallel using any kind of (multi-view) image viewer. Ploceus [START_REF] Liu | Ploceus: Network-based visual analysis of tabular data[END_REF] can produce and lay out temporal multiples interactively (Figure 2.22(b)). More recently, [START_REF] Perer | MatrixFlow: temporal network visual analytics to track symptom evolution during disease progression[END_REF] use adjacency matrices in MatrixFlow (Figure 2.25(a)). Cell darkness indicates strength of relation. When the user hovers over a cell in a matrix, the evolution of the connection's weight is plotted in a line graph below the matricess. Matrices benefit from the advantage that, if properly placed on the screen, rows or columns align and connections of nodes can be tracked along rows across matrices (time steps). Figure 2.25(b) originated from a study that compares animated sequences and temporal multiples, [START_REF] Boyandin | A qualitative study on the exploration of temporal changes in flow maps with animation and small-multiples[END_REF]. Within these temporal multiples, users are able to synchronously zoom the views and highlight edges across them. Line thickness indicates edge weight.

Temporal multiples provide a quick overview of the network's evolution without hiding or abstracting any information. Yet the size of multiples depends on their number and on the available screen space; larger images show more details of the network, smaller images mean that more time steps can be shown simultaneously. Another problem is the comparison of distant times and to track particular graph elements across time steps. Temporal multiples therefore hardly allow for a detailed analysis of changes, as those require direct comparison across multiple small images and do not scale to large networks or networks with many time steps. Letting users change the temporal granularity (vertical temporal navigation), or allow for brushing-and-linking, could perhaps help to overcome some of these problems. To the best of our knowledge, such techniques have not been implemented yet.

Animated Sequences

Sequences of the network's time steps is by far the most common visualization approach. In order to convey changes between time steps, animations show node and edge addition and removal as well as move nodes to their positions in the new layout. The simplest animations interpolate between the position of nodes, possibly using fast-in-fast out pacing, while fading in new nodes and edges and fading out nodes and edges which get removed from the graph [START_REF] Diehl | Graphs, they are changing -dynamic graph drawing for a sequence of graphs[END_REF][START_REF] Erten | GraphAEL: Graph animations with evolving layouts[END_REF][START_REF] Friedrich | The marey graph animation tool demo[END_REF][START_REF] Moody | Dynamic Network Visualization: Methods for Meaning with Longitudinal Network Movies[END_REF]Bender-deMoll & McFarland, 2005). Crucial to any such animation is the amount of change in node positions, which is directly related to the layout used. While in Gephi [START_REF] Bastian | Gephi: An open source software for exploring and manipulating networks[END_REF], each time the user navigates through time, the force-directed layout gets updated continuously, techniques exist to stablize the layout, discussed in detail in Section 2.7.

Although direct interpolation between node positions is easy to understand, nodes can cross each other during animation. [START_REF] Friedrich | Graph Drawing in Motion[END_REF] described staged 2012), (c) nodes colored by age [START_REF] Collberg | A system for graph-based visualization of the evolution of software[END_REF], and (d) line graphs showing time series on network nodes [START_REF] Hadlak | Supporting the visual analysis of dynamic networks by clustering associated temporal attributes[END_REF].

animations employing general geometric transformations to the graph in order to make the current layout appear as close to the new one as possible, without changing node positions relative to each other (Figure 2.26). The employed stages are as follows: (1) removing network elements, (2) transforming the entire network by rotation, scaling, and translation, (3) moving each node individually to its final position, and finally (4) showing new network elements. While added nodes grow or fade-in and removed nodes shrink or fade-out, links are not animated. Although node movements can be tracked, it is difficult to track many changes that happen to the topology, especially for large networks made of unconnected components. Visone [START_REF] Brandes | Visone -Analysis and Visualization of Social Networks[END_REF] features three-stage transitions: first fade out nodes and their incident edges; then remove and add edges between nodes that remain in the network while also updating nodes' positions; and finally add new nodes and their incident edges. In TempoVis (J.-W. [START_REF] Ahn | Temporal visualization of social network dynamics: prototypes for nation of neighbors[END_REF], nodes do not change positions during the animation and intensity of node color diminishes depending on the node's age, i.e. its time in the network.

Animated sequences allow to use the entire screen space to show a single time step, while encoding changes implicitly as change between two time steps. Sequences can scale up to hundreds and thousands of time steps, yet users must memorize the network at earlier time steps and navigate though time. Studies on the efficiency of animated sequences are discussed together with other studies in Section 2.8.

Temporal Aggregation

Temporal aggregation represents the entire dynamic network into a single picture of the network without duplicating elements, (the supergraph) while encoding:

• values over time (such as the average number of connections) (value encoding), or

• time (when did a particular node first appear in the network) (time encoding).

Value Encoding Value encoding is very common and does not require sophisticated visual encodings. For example, [START_REF] Chi | Principles for information visualization spreadsheets[END_REF] color cells in a matrix according to the frequency of connections and propose to use the third spatial dimension to highlight very frequent connections. However, all information about precise time points or distribution over time, is lost. Similarly, NetVisia [START_REF] Gove | NetVisia: Heat Map and Matrix Visualization of Dynamic Social Network Statistics and Content[END_REF] shows adjacency matrices with varying cell saturation, and Honeycomb [START_REF] Van Ham | Honeycomb: Visual analysis of large scale social networks[END_REF] summarises the number of edges between any node pair over time in a single brightness value per matrix cell.

Time Encoding Time encoding assigns each time step a particular encoding, such as a color hue value to encode, for example, the first appearance of nodes and edges in the entire network [START_REF] Collberg | A system for graph-based visualization of the evolution of software[END_REF]. Difference graphs can be a particular form of time encoding if both graphs are still distinguishable as in [START_REF] Andrews | Visual Graph Comparison[END_REF]. [START_REF] Hascoët | Interactive graph matching and visual comparison of graphs and clustered graphs[END_REF] as well as [START_REF] Erten | Simultaneous graph drawing: Layout algorithms and visualization schemes[END_REF] compare multiple networks by coloring each network individually and superimposing the networks.

Aggregated images preserve the topology and show where the graph is affected over time. While value encodings may still yield readable images, much of the temporal information is lost. Time encoding can show more temporal information, also it can increase the visual complexity of the network representation. Difference graphs work well when comparing few graphs, but are insufficient to explore long sequences of time steps.

Nestings

Nestings represent changing values for node or edge time attributes over time, inside glyphs for graph elements, while the topology of the network remains visible.

Matrices have been used more often for nesting temporal information on edges, likely because cells provide more space than lines in a node-link diagram, for encoding information. To show the same information, Yi, Elmqvist, and Lee (2010) (Figure 2.28(a)) use bar charts inside matrix cells, similar to ZAME [START_REF] Elmqvist | Zame: Interactive large-scale graph visualization[END_REF]. [START_REF] Stein | Pixel-oriented visualization of change in social networks[END_REF] employ a space filling algorithm to map temporal evolution of connection activity betwen nodes into the matrix cells (Figure 2.28(b)). [START_REF] Brandes | Asymmetric Relations in Longitudinal Social Networks[END_REF] use Gestaltlines inside matrix cells to represent changing edge weight over time (Figure 2.28(c)). Time runs from bottom to top while length and inclination of the horizontal indicates weight in both directions of the relation.

While matrices show nestings inside their cells, node-link diagrams have been used to embed time-series on nodes, using line graphs [START_REF] Saraiya | Comparing benchmark task and insight evaluation methods on timeseries graph visualizations[END_REF] and [START_REF] Hadlak | Supporting the visual analysis of dynamic networks by clustering associated temporal attributes[END_REF] (Figure 2.28(d)). Nestings can show changes in edge values without necessarily hiding information. They can show trends in attribute values for a single graph element as well as allow for comparison of these trends. Since the network topology is shown explicitly, trends can easily be related to topology. However nestings can be very detailed, especially if they show information for many time steps. The problems are similar to those with temporal multiples: (i) as the network gets large and contains many time steps, screen space might not be sufficient to show all nestings in sufficient detail; (ii) perception of one particular time step is difficult, as well as (iii) the comparison of time steps.

Timelines

Timeline visualizations for dynamic networks consist of a timeline along one spatial dimension, while network structure is displayed using the remaining spatial dimension, for each time step. Timeline views are useful because they allow to estimate the exact sequence and duration of events, as well as allow to compare durations at different locations in time. The main problem in time line visualizations is to find a node ordering that keeps the chart readable and creates patterns among connections in the chart. The other problem is to deal with the resulting over plotting of connections.

Different techniques have been proposed to address one or both of these problems; some duplicate nodes, some use fixed node position, some do show and other do not show connections. In the following I group the visualizations into the the following (non-exclusive) types, illustrated in Figure 2.29: Node-link based Node-link based techniques are basically node-link diagrams but nodes are laid out according to time (Figure 2.29(a)). There is no node or edge duplication. For example, [START_REF] Falkowski | Mining and visualizing the evolution of subgroups in social networks[END_REF] first calculate a layout for the entire super graph, and then show time along a vertical axis, while keeping the y-coordinates of nodes (Figure 2.30(a)). A node's position along the time axis indicates the time point at which it joined the network. Communities in the graph are calculated in advance and their coloring in the timeline view reveals the evolution of each community. GraphDice [START_REF] Bezerianos | Graphdice: a system for exploring multivariate social networks[END_REF] shows nodes located in a scatterplot where one axis shows time (Figure 2.30(c)). Since every node appears only once, relations between different nodes can clutter the visualization and are hard to follow. Semantic Substrates [START_REF] Shneiderman | Network visualization by semantic substrates[END_REF] solves the problem of visual clutter by showing links only on users' demand, as they hover a particular node (Figure 2.30(b)).

Arc-Diagram based

Arc-Diagram based timelines solve the clutter problem by assigning each node a unique position on the vertical dimension (given that time is represented on the horizontal screen dimension). Connections are represented as arcs or lines between these horizontal layers (Figure 2.29(a)). [START_REF] Greilich | Visualizing the evolution of compound digraphs with TimeArcTrees[END_REF] represent connectivity between nodes in a tree and use nodes' positions in the tree as order (Figure 2.30(e)).

Yet, this ordering might not be optimal to reduce clutter in the diagram. van den Elzen, [START_REF] Van Den Elzen | Dynamic Network Visualization with Extended Massive Sequence Views[END_REF] propose several ordering mechanisms on Massive Sequence Views including one that minimizes lengths of arcs in the diagram (Figure 2.30(d)). Many timeline visualizations use discrete time steps and show multiple connections at the same time step, massive sequence views show only one connection per step on the time axis. Further orderings by van den Elzen et al. therefore include mechanisms to minimize block overlap, order nodes by degree measures, and according to when nodes are connected for the first time. Eventually, ordering techniques can be combined in order to produce specific pre-attentive visual patterns in the chart.

Parallel Edge Splatting Parallel Edge Splatting [START_REF] Burch | Parallel edge splatting for scalable dynamic graph visualization[END_REF]) also uses fixed positions on the topology axis, while showing time steps on the time axis (Figure 2.29(c)). Edge over plotting is avoided by introducing gaps between time steps and showing edges between nodes in adjacent time steps, looking similar to a parallel coordinates plot (Figure 7.3(b)).

Flow Charts Other approaches abstract even further by removing edges and instead letting nodes change their position on the topology axis over time (Figure 2.29(d)). Node positions are re-calculated for every time step, similar to calculating a new layout for every time step in an animated sequence (Section 2.6.2). [START_REF] Reda | Visualizing the evolution of community structures in dynamic social networks[END_REF] show node groups (defined by attribute value) as horizontal layers with fixed positions, while individual nodes are shown as lines and switch between these groups (Figure 2.30(g)). [START_REF] Sallaberry | Clustering, visualizing, and navigating for large dynamic graphs[END_REF] visualize only nodes as lines and find an ordering for every time step (Figure 2.30(h)). Given a "good" ordering, these flow charts can show the evolution of clusters.

Heat maps Heat maps do not show any connections either, but summarize node attributes over time, i.e. topological information is completely lost (Figure 2.29(e)). For example, in NetVisia [START_REF] Gove | NetVisia: Heat Map and Matrix Visualization of Dynamic Social Network Statistics and Content[END_REF] rows indicate nodes, columns indicate time points and cells encode specific network topology metrics for nodes (Figure 2.30(j)). Similar to matrices, rows in the heatmap can be ordered according to value similarity. Heatmaps in NetVisia are coupled with an adjacency matrix that shows an aggregated picture of the network structure for a certain, user defined, time period.

Polar layout A common problem in finding a linear node ordering for timeline views is that the connected but distant nodes produce long arcs in the diagram. Polar representations avoid long arcs by showing each time as concentric circles (Figure 2.29(f)). van den Elzen et al. represent Massive Sequence Views to such a polar representation and further improve their ordering techniques (Figure 2.30(l)). Polar representations can significantly reduce visual clutter since any arc is at maximum as long as half the circumference of a "time ring". van den Elzen et al. use the rays representing nodes to encode node attributes. [START_REF] Burch | Timeradartrees: Visualizing dynamic compound digraphs[END_REF] show a radial ego network at the end of the each node beam, illustrated in Figure 2.30(k). Burch et al. also describe a polar representation for parallel edge splatting. Timeline visualizations benefit from the clear mapping of time so space and they can effectively visualize changes in temporal clusters. On the downside, precise topological information is lost due to the linear ordering of nodes that is required, since only one spatial dimension remains to show them. Parallel edge platting and the designs by [START_REF] Reda | Visualizing the evolution of community structures in dynamic social networks[END_REF] as well as [START_REF] Sallaberry | Clustering, visualizing, and navigating for large dynamic graphs[END_REF] can suffer from crossing lines that result from nodes changing distant communities or edges between distant nodes. [START_REF] Cui | Let It Flow : A Static Method to Explore Dynamic Graphs[END_REF] partially overcome this problem by creating a pixelbased flow map, rather than visualizing individual nodes and edges (Figure 7.3(c)).

(d) (e) (f) (g) (h) (i) (j) (k) (l)

Dynamic Ego Networks

Dynamic ego networks capture changes to the neighborhood of a single node, called the ego. This reduction of the displayed information allows for some more freedom in arranging visual elements on the screen and encoding information about time and attributes. [START_REF] Shi | Dynamic network visualization in 1.5D[END_REF] use a timeline to represent the activity of the ego, while placing related nodes around the timeline. Whenever a node connects with the focus node, a link is drawn between the neighbor and the position on the timeline that corresponds to the time of connection. Edges between neighbors are shown regardless of the time point (Figure 2.31(a)). Farrugia et al. (2011) lay out the ego's neighborhood in a radial manner, while neighbors are placed on concentric circles, whose radius increase with time point of connection. This concise representation allows to visualize multiple ego networks at the same time (Figure 2.31(b)) and compare the individual connection behaviour.

While dynamic ego networks work well to observe connectivity changes in the neighborhood of an individual node, it does not allow to visualize higher-level graph structures such as clusters or paths.

Space Time Cube Representations

Space time cubes have been used in many domains to visualize temporal data that intrinsically has to be shown in 2D, such as geographical data [START_REF] Carpendale | The Tardis: A Visual Exploraition Environment for Landscape Dynamics[END_REF][START_REF] Kraak | The Space-Time Cube revisited from a Geovisualization Perspective[END_REF] or videos [START_REF] Mackay | DIVA: Exploratory data analysis with multimedia streams[END_REF][START_REF] Fels | Techniques for interactive video cubism (poster session)[END_REF]Daniel & Chen, 2003). While two dimensions represent the spatial data, the third spatial dimension conveys time. Since network structure can be mapped to a 2D layout, approaches have been made to extrude node-link diagrams into 3-dimensional space. [START_REF] Dwyer | Two-and-a-half-dimensional visualisation of relational networks[END_REF] defines this type of 3D visualisation as 2.5D, Nodes become columns [START_REF] Brandes | Visual unrolling of network evolution and the analysis of dynamic discourse[END_REF], Figure 2.32(a)) or "worms" [START_REF] Dwyer | Visualising a fund manager flow graph with columns and worms[END_REF], Figure 2.32(b)), while edges are shown as bridges between the extruded nodes. Worms are bent because node positions change between different layouts over time (see Section 2.7). Bending can show if two or more nodes are tightly connected, without showing edges explicitly. However, as nodes can be "arbitrary" curves in 3D space, tangled in many ways, the visualization can quickly get cluttered.

3D visualizations suffer from the common drawbacks of 2D screens, such as perspective distortion and scaling, reduced depth perception and visual occlusion. Space time cubes usually allow for free rotation to overcome the problem of occlusion. Furthermore, cutting planes help to highlight individual time steps [START_REF] Brandes | Visual unrolling of network evolution and the analysis of dynamic discourse[END_REF][START_REF] Dwyer | Visualising a fund manager flow graph with columns and worms[END_REF]. In visually comparing biological pathways, stacked to form a space time cube, [START_REF] Brandes | Visual Understanding of Metabolic Pathways Across Organisms Using Layout in Two and a Half Dimensions[END_REF] overcome some of the drawbacks of 3D visualizations by providing two fixed views; one that shows an aggregated view of pathways and another view showing the space time cube "from the side" (Figure 2.33). The small window in Figure 2.33(b) shows the currently selected pathway in its 2D layout. GraphAEL [START_REF] Erten | GraphAEL: Graph animations with evolving layouts[END_REF]) also combines several views on the dynamic network; besides temporal multiples, it provides animated sequences, difference graphs and a 3D view similar to [START_REF] Dwyer | Visualising a fund manager flow graph with columns and worms[END_REF] that shows edges connecting nodes in different time steps.

Similarly, [START_REF] Federico | A visual analytics approach to dynamic social networks[END_REF] propose a system that integrates views of multiple types: 2.5D view (space time cube, Figure 2.34(a)), juxtaposition (temporal multiples), superimposition (aggregation), and animated sequences. Animated transitions help users understand transitions between views (Figure 2.34(b)). Federico et al. implemented interaction support to show node traces (the positions of a node though time).

While static 2D network visualization is already challenging due to node overlap and link crossing, adding a third dimension usually increases the visual complexity. Yet, while they may be hard to read and less useful for a precise analysis, they have a great potential to explain a data set or visualization.

Dynamic Graph Layout

Most of the techniques in the last section require some sort of graph layout. Layouts for static graphs have been summarized in Section 2.4.1.

While aggregated visualizations of dynamic networks require only a single layout for the graph, animated sequences or temporal multiples can show a different layout for each time step (local layout). Local layouts can optimize the layout for each time step individually, improving readability of the topology. However, local layouts can change significantly between two time steps, depending on the number of nodes and edges being added or removed with respect to the previous layout. The problem of dynamic graph drawing is to find a local layout for each time step that minimizes changes in node positions, while allowing for a good layout at every time step. This problem is known as the Mental map preservation problem [START_REF] Eades | Preserving the mental map of a diagram[END_REF][START_REF] Misue | Layout adjustment and the mental map[END_REF]. In order to minimize visual changes between time steps, layout algorithms use information about node positions across time steps. Such algorithms use either previous time steps only (online), or previous and future time steps (offline). Conceptually, the mental map preservation problem exists as well for finding an optimal node ordering for matrices [START_REF] Yi | TimeMatrix: Visualizing Temporal Social Networks Using Interactive Matrix-Based Visualizations[END_REF][START_REF] Brandes | Asymmetric Relations in Longitudinal Social Networks[END_REF] or vertical lines [START_REF] Reda | Visualizing the evolution of community structures in dynamic social networks[END_REF][START_REF] Burch | Parallel edge splatting for scalable dynamic graph visualization[END_REF]. Yet, to the best of our knowledge, no work has been done in this direction.

Mental Map Preservation

The mental map is described as the users' internal view of a visualization or network. It relates visual elements and patterns to their meaning and is required to understand the visualization, to remember it, and to use it for reasoning to solve tasks. Changes to the visualization, caused by interaction or system updates, require the user to update his mental map.

In order to convey changes across time steps and to help users updating their mental map, animated transitions have been proven useful [START_REF] Heer | Animated transitions in statistical data graphics[END_REF][START_REF] Robertson | Effectiveness of animation in trend visualization[END_REF] (cf. Section 2.6.2). However, in the worst case, the visualization changes so much that users can not follow the animations and may lose their mental map. Loosing the mental map means not being able to relate the current (state of the) visualization, to the knowledge the user got from it previously. The user must read and understand the visualization again, while relating it to his new mental map. Independent from using animation or not, a stable layout which minimizes changes between time steps, is supposed to support users in maintaining their mental map, when navigating through time steps and working with the visualization. Similar to aesthetic graph drawing criteria for static graphs, criteria for dynamic graph layouts exist. [START_REF] Misue | Layout adjustment and the mental map[END_REF] suggest (i) to preserve horizontal and vertical node ordering in succeeding layouts (orthogonality), to (ii) keep relative distances between neighboring nodes (proximity), and (iii) to preserve the dual graph, that is to avoid crossing lines that did not cross in previous layouts (topology). Based on these criteria, measures to quantify the mental distance between two layouts have been described [START_REF] Bridgeman | Difference metrics for interactive orthogonal graph drawing algorithms[END_REF][START_REF] Branke | Dynamic graph drawing[END_REF][START_REF] Diehl | Graphs, they are changing -dynamic graph drawing for a sequence of graphs[END_REF].

Different studies investigated the effect of mental map preservation techniques on users' task performance, mainly while using animated sequences and/or temporal multiples. None of these studies found conclusive statistical evidence about which degree of stabilization is the best. [START_REF] Purchase | How important is the "mental map"?an empirical investigation of a dynamic graph layout algorithm[END_REF] as well as Archambault, Purchase, and Pinaud (2011a) could not find any significant difference between three degrees of stabilization (low, medium, and high), although, depending on the task, either medium or high stabilization caused fewer errors. Purchase et al. suggests that mental map preservation is more important to track nodes, but is less required for tasks about edges. In a follow-up study, [START_REF] Purchase | Extremes are better: Investigating mental map preservation in dynamic graphs[END_REF] showed evidence that either high or low stabilization caused users to make less errors than when using a medium stabilization, with low stabilization causing significantly less errors than a high stabilization. Study participants reported that stable layouts support tracking individual nodes, and liked the fact that clusters were clearly visible and that low-degree nodes were shown on the margin of the layout. At the same time, they found stable layouts more cluttered and less clear. In contrast, users liked the more clear individual layouts and reported that it was fun to watch fluid animated node movements in the low stabilization conditions3 . Purchase and Samra suggest that, rather than combining the advantages of high and low mental map preservation techniques, a medium stabilization would combine the worst of both extremes. Depending on the task, the one or the other should be preferred.

While the results are not so clear for the efficiency of mental map preservations, [START_REF] Archambault | The mental map and memorability in dynamic graphs[END_REF] showed that a stable layout improves memorizablity in dynamic graph layouts, and report on two features that are important for memorability. Memorizing static features such as prominent network motifs (cliques, users, etc) is supported by stable layouts. In contrast, dynamic features such as particular node movements or the order of changes, are supported by unstable layouts. Further evidence in favor of mental map preservation was reported in another study by [START_REF] Archambault | Mental map preservation helps user orientation in dynamic graphs[END_REF]. Users have been asked to find nodes in one time slice and to re-find them in another time slice, without being able to going back to the first time slice. The results showed a significant decrease in time and error rate for mental map preservation (i.e. stable layouts). These results could be seen as supportive for choosing a stable or locally optimal layout. Yet, all these studies have only used a single metric for mental distance (node position preservation [START_REF] Diehl | Graphs, they are changing -dynamic graph drawing for a sequence of graphs[END_REF]) but different layout and stabilization techniques, which may account for variations in results. For example, [START_REF] Purchase | Extremes are better: Investigating mental map preservation in dynamic graphs[END_REF], Archambault et al. (2011a), as well as Archambault and Purchase (2013) used the offline algorithm detailed in [START_REF] Erten | GraphAEL: Graph animations with evolving layouts[END_REF], while [START_REF] Purchase | How important is the "mental map"?an empirical investigation of a dynamic graph layout algorithm[END_REF] used an iterative online algorithm with differing tolerance in node movement. The remainder of this section discusses the most important techniques and their problems for creating layouts for dynamic networks. Further techniques and references are summarized by [START_REF] Brandes | A quantitative comparison of stress-minimization approaches for offline dynamic graph drawing[END_REF], [START_REF] Brandes | Handbook of Graph Drawing and Visualization[END_REF], and [START_REF] Frishman | Online dynamic graph drawing[END_REF].

Online Algorithms

Online dynamic graph drawing algorithms create a layout for time step t i based on the layouts of t i-x whereby x can vary between 1 and the number of time steps (S. C. [START_REF] North | Incremental layout in DynaDAG[END_REF][START_REF] Huang | On-line animated visualization of huge graphs using a modified spring algorithm[END_REF][START_REF] Moody | Dynamic Network Visualization: Methods for Meaning with Longitudinal Network Movies[END_REF]. In the most simple case, the layout from the previous time step is incrementally adjusted while taking the newly added nodes and edges into account. In order to minimize changes, new nodes are placed at the barycenters of their neighbors, i.e. minimizing distances to all the neighbors. For directed networks, [START_REF] Moody | Peer influence groups: identifying dense clusters in large networks[END_REF] suggest to update node positions so that nodes move towards the barycenter of their successors. However, this could cause unnecessary movement.

Online algorithms are simple to implement by reusing existing algorithms and they do not require much computation. They are used in online scenarios (see Section 2.3.1) where the graph needs to be updated, such as when monitoring a network or when the user is allowed to manipulate the network's topology. However, the problem with this approach is that online algorithms can run into local optima and abrupt changes are necessary to keep the layout readable and ready for further changes.

Offline Dynamic Graph Algorithms

Given that all temporal information is present prior to a visual analysis, an offline algorithm can use information from all the time steps. According to [START_REF] Brandes | Handbook of Graph Drawing and Visualization[END_REF], there are three approaches to offline dynamic graph drawing algorithms: aggregation, anchoring, and linking.

Aggregating is based on a single supergraph of the network, which is used to calculate a single global layout for all nodes that are part of the network, over time. Each node has a unique position that does not change between time steps [START_REF] Diehl | Preserving the mental map using foresighted layout[END_REF][START_REF] Brandes | Visual unrolling of network evolution and the analysis of dynamic discourse[END_REF][START_REF] Dwyer | Visualising a fund manager flow graph with columns and worms[END_REF]. Such static layouts can be sufficient if the network grows, but lead to unusual results in cases where nodes get removed and the network changes a lot during time. [START_REF] Purchase | Extremes are better: Investigating mental map preservation in dynamic graphs[END_REF].

Anchoring uses node positions in past and future time steps, or the global layout, as reference to minimize changes between local layouts. Adjustments for a time step can be calculated (a) independent for each time step, taking only the difference to the global layout into account, (b) predecessor dependent, taking into account the previous and the global layout, (c) context dependent taking into account the previous, the global layout and the successor layout into account, and finally (d) simultaneous adjustment which iteratively optimizes time steps. Simultaneous optimization is technically similar to linking techniques.

Linking is based on a supergraph that contains a copy of each node for every time step and introduces (invisible) inter time step edges between instances of the same node in adjacent time steps [START_REF] Erten | GraphAEL: Graph animations with evolving layouts[END_REF][START_REF] Peterson | Time spring layout for visualization of dynamic social networks[END_REF]. Inter time step edges are treated in almost the same manner as actual edges in a force-directed layout algorithm; they prevent nodes from moving too far. Linking does not require a global layout, but nodes can drift over time, which, depending on the case, can yield more optimal flexible layouts, but likely introduces more movement in the graph.

Comparing these three types of algorithms in a benchmark test, [START_REF] Brandes | A quantitative comparison of stress-minimization approaches for offline dynamic graph drawing[END_REF] found linking to produce layouts with less overall differences between time steps. Since linking is performance intensive (each node has to be compared against itself, in all times) Brandes and Mader suggest anchoring as alternative. Results from studies on the mental map are not easy to interpret since they did not test for different layout algorithms. Quantifying the efficiency of layout algorithms and mental map preservation techniques is hard, given that difference metrics do not necessarily reflect user performance, but moreover, that users' performance depends on a multitude of (independent) factors: the size of graphs, their characteristics, the amount of changes between time steps, the tasks users perform and how the graph is eventually visualized.

Existing layout algorithms are useful only for visualizations that are based on node-link diagrams, but Section 2.6 shows that there are many visualization techniques for dynamic networks. Perhaps even more important than in static graph drawing, visualization of dynamic networks requires creative and purposeful visualization techniques, going beyond the calculation of a graph layout. Once a layout algorithm is chosen, the next question is how to present the data, using techniques such as those presented in Section 2.6. Yet, the choice of the visualization technique may have an influence on the layout algorithm to choose. The next section reports on controlled user studies that compare some of the visualization techniques reported in Section 2.6.

Comparative Studies

Few studies have been conducted that compare different ways of visualizing dynamic networks. Most of them compared animated sequences and temporal multiples ("small multiples" in the studies). The results suggest that temporal multiples are significantly faster than animated sequences on a number of tasks, but do not significantly decrease error rate (Farrugia & Quigley, 2011;Archambault et al., 2011a;[START_REF] Boyandin | A qualitative study on the exploration of temporal changes in flow maps with animation and small-multiples[END_REF]. Farrugia and Quigley (2011) found temporal multiples to be faster and, in most cases, to be more accurate than animated sequences. However, several results were not significant. Asked for their preference, participants were much more positive about temporal multiples than about animated sequences. As participants commented, animations were too slow for solving the time-critical tasks. They liked that temporal multiples allowed for quick access and the possibility to verify results. However, the temporal multiples conditions contained only four images (time steps). Farrugia and Quigley conclude that animated sequences may be the best choice for large networks, because they can use the entire screen and are independent from the number of time steps. They remain positive about animated sequences in general, but suggest better interaction and navigation methods to overcome the shortcomings of animated sequences. They argue that graph movies, such as created with SoNIA [START_REF] Moody | Dynamic Network Visualization: Methods for Meaning with Longitudinal Network Movies[END_REF] (which have been used in the experiment) suffer from the inability to "jump" to a particular time point, as well as the ability to quickly preview. Archambault et al. (2011a) also compared temporal multiples to animated sequences and, in accordance with Farrugia and Quigley, found temporal multiples to be faster than animated sequences, for all five tasks. There was no significant difference across error rate, except for tasks related to the appearance of nodes and edges; for these tasks, animated sequences significantly reduced error rate. Archambault et al. suggest to use temporal multiples for topology-based tasks (cf. [START_REF] Lee | Task taxonomy for graph visualization[END_REF], and animated sequences for node and edge appearance and disappearance as well as in cases where accuracy is generally more important than task-completion time. However, similar to Farrugia and Quigley, data sets were rather small and consisted of 9 time steps with at most 60 nodes.

A third study, conducted by [START_REF] Boyandin | A qualitative study on the exploration of temporal changes in flow maps with animation and small-multiples[END_REF], compared temporal multiples and animated sequences in an open-ended exploratory study on migration flows between countries. Boyandin et al. found that animated sequences helped observing local geographical changes and changes between subsequent years, while temporal multiples were good for long term observations. The authors suggest an integration of both techniques. Conditions in this study included far more nodes (200) and time steps (35) than the studies by Farrugia and Quigley (2011) and Archambault et al. (2011a). In the animation condition, users appreciated that the entire screen was available to show the visualization, while they found the temporal multiples too small. Some contrary results to the above mentioned studies come from [START_REF] Archambault | Mental map preservation helps user orientation in dynamic graphs[END_REF]. Their study showed animated sequences to be generally faster and yield less errors than temporal multiples, but without statistical significance. The conditions included 6 time steps and up to 72 nodes. [START_REF] Zaman | The effect of animation, dual view, difference layers, and relative re-layout in hierarchical diagram differencing[END_REF] evaluated animations, side-by-side views (temporal multiples) and difference views for the comparison of two layered diagrams (directed acyclic graphs). Difference views showed both diagrams superimposed, highlighting nodes and edges that were in only one diagram. Zaman et al. found difference views to perform better than animations. Animations were also better than side-by-side views. One study condition combined difference views with animation, which resulted in better performance than animation or difference view individually. Beyond the domain of networks, studies have compared temporal multiples, animated sequences and aggregated images for other data types. For example, [START_REF] Robertson | Effectiveness of animation in trend visualization[END_REF] investigated the effectiveness of animated sequences for trend visualization in scatterplots. Scatterplots showed statistics for country statistics evolving over time, such as in Gapminder [START_REF] Rossling | GapMinder[END_REF]. Robertson et al. compare animations to a static image with traces (Figure 2.35(a)) and to temporal multiples (Figure 2.35(b)). Each of the 74 temporal multiples shown in a scatterplot of a single country plus a trace for the countries' movement. The results of the controlled user study showed that animations performed significantly less accurately if users had no control over the animation pace and exact position in the entire movie (10 second duration for 25 years). Being able to control the animation raised task completion time over that of the other two techniques. Although temporal multiples performed better, especially for the condition with a larger data set, animation was the more exciting and encouraging to participants 4 . A more ample discussion of studies outside the scope of dynamic networks is found in Section 7.4.

Except for Farrugia and Quigley (2011), animations were generally rated higher in users' preference, although animations did not perform better in error rate and/or task completion time. According to Boyandin et al., animations were more appealing to users.

However, if some of the studies yield congruent conclusions for some conditions, but are contradictory for other conditions, each study is limited and in fact lists several exceptions for particular conditions. There are simply too many parameters that vary between studies. Data varied in terms of node count, and time steps, but also in edge attributes. For example [START_REF] Boyandin | A qualitative study on the exploration of temporal changes in flow maps with animation and small-multiples[END_REF] included edge weight, while the others had no additional attributes encoded. Furthermore, data varies in density and amount of change, across studies. Tasks are generally hard to compare, especially since there is no common repository or taxonomy for tasks about dynamic networks. Each study used a proper implementation of the compared techniques: [START_REF] Boyandin | A qualitative study on the exploration of temporal changes in flow maps with animation and small-multiples[END_REF] used difference highlighting across all conditions, interactivity in the animation condition also varied. Several authors ask for improvement of animations (Farrugia & Quigley, 2011) and the integration of different techniques to balance individual drawbacks [START_REF] Zaman | The effect of animation, dual view, difference layers, and relative re-layout in hierarchical diagram differencing[END_REF][START_REF] Boyandin | A qualitative study on the exploration of temporal changes in flow maps with animation and small-multiples[END_REF]. Finally, layouts were also different across studies, and as shown in the previous section, remain an unknown parameter to task performance.

In general, studies seem to show that for small networks (up to around 30 nodes) and with a few time steps (up to 4 time steps), small multiples seem to perform better overall. However, most authors suggest that animations are much better, although not perfect, for larger networks and longer time periods.

More studies are needed, investigating, for example, optimal animation speed, the effect of interaction in animated sequences and temporal multiples, data density and large networks, amount of change, etc. Furthermore, there are no studies comparing visualizations from the following categories discussed in Section 2.6: nestings, temporal aggregation, those involving adjacency matrices, and the different types of timelines (see Section 2.6). Yet, for the mentioned reasons (differences in data, implementation, task, etc.), it is unlikely that qualitative evaluations of individual techniques yield further insights, other than for particular cases. Moreover, many techniques may not be comparable at all, because they simply do not show the same information, but are rather complementary to one another.

Summary

Visualizing dynamic networks combines many different aspects, such as the notion and structure of time, structural changes inside the graph or on its attributes, visualization techniques that show topology, attributes and time, finding the right visual encodings that allow users to understand information in an unambiguous way, and provide appropriate interaction and navigation techniques. While much has been learned and designed in recent years, many open problems remain, such as:

• How to visualize large and dense dynamic graphs with thousands of nodes and hundreds of time steps? • How to visualize changing edge weights?

• How to navigate efficiently between hundreds of time steps?

• How to track changes on higher-level graph structures (clusters, paths, etc.) over time? • How to achieve a tradeoff for the mental map problem?

• Can performance of animated sequences be improved by interaction and better visual feedback? • How can the drawbacks of the different techniques be balanced? and finally: • Which tasks do users perform while exploring dynamic networks?

Summary

A potential design space for dynamic network visualizations is huge but less structured so far. A clear terminology to describe and discuss visualizations is missing, too. Individual visualizations differ in their implementation (interactive vs. non-interactive, color-coded vs. monochrome, attribute encoding vs. simple topology) and are hard to compare. Studies have evaluated mostly temporal multiples against animated sequences, but as data sets, tasks and other experiment conditions differed, the narrow evidence that the studies yield is hardly generalizable. While many visualizations rely on a single presentation (cf. Table 2.2), study authors suggest integration and improvement of techniques. In fact, a more sound exploration process would be too much constrained by a single technique.

This thesis adresses most of the above mentioned problems in an integrative manner. That is, ultimate solutions to an individual problem are hard to achieve and many solutions to these problems depend on the context they are employed in. For example, visualizing dense dynamic graphs require multiple views and interaction techniques, as well as efficient temporal navigation. On the other side, the individual advantages and drawbacks of certain visualization techniques heavily depend on the data characteristics.

Yet, in order to better understand for what we visualize dynamic networks, i.e. what these visualizations should support, the next chapter starts by laying out a taxonomy of tasks that users perform while exploring dynamic networks. T ASKS are important in creating and researching novel visualizations, because they describe which problems a visualization should help to solve. When designing a visualization, a designer should have a specific task in mind (Bertin, 1973); tasks are crucial for validation at various stages, as well as for a final evaluation (cf. [START_REF] Munzner | A nested model for visualization design and validation[END_REF] as well as [START_REF] Lam | Empirical studies in information visualization: Seven scenarios[END_REF]. For example [START_REF] Lam | Empirical studies in information visualization: Seven scenarios[END_REF] describe the design process for visualizations in five stages; 1) Pre-design, 2) design, 3) prototyping, 4) deployment, and 5) redesign. Mistakes in each of these stages can impact the subsequent stages.

State of the Art

A list of tasks can be obtained by various means. For example, conducting interviews, using questionnaires, or observing practitioners' working process [START_REF] Lam | Empirical studies in information visualization: Seven scenarios[END_REF][START_REF] Carpendale | Evaluating information visualizations[END_REF]. These methods are time intensive and require practitioners' availability. Moreover, an unstructured list of tasks should then be structured in order to allow proper conclusions for design and evaluation. Structured task taxonomies are useful because they provide:

• task categories and grouping principles,

• the ability to evaluate existing visualizations, in checking which tasks they allow users to perform, • a base for the definition of design guidelines and implications for interfaces and visualizations, as well as • representative tasks for an evaluation.

Task taxonomies have been created for visualization tasks in general (e.g., [START_REF] Shneiderman | The eyes have it: A task by data type taxonomy for information visualizations[END_REF] as well as [START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF] and (static) networks [START_REF] Lee | Task taxonomy for graph visualization[END_REF]. Recently J. [START_REF] Ahn | A Task Taxonomy for Network Evolution Analysis[END_REF] published a Technical Report describing an extensive taxonomy of tasks for dynamic networks. However, a simple description of the questions and tasks is missing. The questions we address in this chapter are:

How to describe and categorize tasks for dynamic networks? Which implications can we draw from the tasks for the visualization design?

This chapter adapts and extends previous taxonomies on general tasks in information visualization [START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF], time and geography [START_REF] Peuquet | Its about time -a conceptual-framework for the representation of temporal dynamics in geographic information-systems[END_REF][START_REF] Maceachren | How Maps Work[END_REF][START_REF] Andrienko | Interactive visual tools to explore spatio-temporal variation[END_REF], as well as static networks [START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF]. For the exploration of dynamic networks, we define three categories of tasks, corresponding to the three dimensions Network elements (Where?), Time (When?), and Behaviors (What?), then describe compound and eventually higher level tasks. While our taxonomy allows us to discuss the complexity and difficulty of tasks, tasks can be easy or hard, depending on the visualization. We conclude this chapter with a discussion of the relation between the tasks in our taxonomy and visual tasks, as well as list how our taxonomy can support design and evaluation of visualizations.

Our taxonomy informs the designs and evaluation of the visualizations presented in this dissertation.

Tasks for Information Visualization

This section gives an overview of the notion and purpose of tasks in information visualization, and lists the taxonomies that are important to understand the construction of our own.

The literature describes many different evaluation methods, ranging from very informal qualitative interviews, to long-term studies, and quantitative controlled user studies (cf. [START_REF] Plaisant | The challenge of information visualization evaluation[END_REF][START_REF] North | Toward measuring visualization insight[END_REF][START_REF] Carpendale | Evaluating information visualizations[END_REF] as well as [START_REF] Lam | Empirical studies in information visualization: Seven scenarios[END_REF]. Quantitative approaches, such as used in Human Computer Interaction (HCI) to assess task completion time and error rate, can assess a visualization's capability to support specific tasks, or to compare visualizations [START_REF] Plaisant | The challenge of information visualization evaluation[END_REF]. However, quantification hardly captures a deeper understanding of the information and reporting of actual insight. Reporting on the users' insight is important to evaluate the understanding of complex and actual relevant information (C. [START_REF] North | Toward measuring visualization insight[END_REF]. Methods include scenarios [START_REF] Lam | Empirical studies in information visualization: Seven scenarios[END_REF], working with domain experts, posing open ended tasks, letting users explore the data using the visualizations, and preferably running long term observations.

Low-level Tasks

Higher-level Tasks Description Analytic primitives [START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF] Uncaptured by low and compound tasks [START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF]Lee et [START_REF] Carpendale | Evaluating information visualizations[END_REF] Table 3.1.: Contrasting low and higher-level tasks.

High and Low-level Tasks

Understanding of task complexity helps in assessing which tasks to pose in order to get the right level of feedback in an evaluation; simpler and precise tasks allow for better quantification, complex tasks allow ecological validity. In quantitative evaluation, common measures for effectiveness are the time it takes a participant to perform a given task (task completion time), and the number of errors he produces (error rate). While task completion time is simple to assess and compare, time is measured equally, errors are harder to interpret since they depend on the tasks and data; some tasks may have only two possible answers, others require the user to choose from a scale or give free form answers. In order to make errors comparable across tasks, errors must be quantifiable.

The literature distinguishes between low-level tasks and high-level tasks [START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF][START_REF] Lee | Task taxonomy for graph visualization[END_REF]J. Ahn et al., 2012). Low-level tasks represent simple questions, described as "analytic primitive" [START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF]. For example, the task "Find Adjacent Nodes [. . . ]" from [START_REF] Lee | Task taxonomy for graph visualization[END_REF] is considered low-level. Examples for higher-level tasks are "Are there car aspects that Toyota has concentrated on?" [START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF] or about the comparison of two networks or changes in dynamic networks [START_REF] Lee | Task taxonomy for graph visualization[END_REF].

Higher-level tasks require specific domain knowledge about the data, the domain. and involve human judgement. Human judgement is perhaps the most prominent aspect for differentiating between low-level and higher-level tasks; while low-level tasks describe a clear methodology, higher-level tasks may not follow any particular methodology. Table 3.1 summarizes the notion of low and higher-level tasks. However, the transition between both categories is not strict; tasks may be more low-level or more high-level.

Amar et al.'s taxonomy lists ten low-level analytical tasks:

1. Retrieve Value: Find the value for an attribute, associated with an element (e.g.

How long is the movie Gone with the Wind?1 ) 2. Filter: Find the elements whose attribute values satisfy certain filter criteria (e.g.

What comedies have won awards?) 3. Compute Derived Value: Calculate derived measures from a set of values (e.g.

How many manufacturers of cars are there?) 4. Find Extremum: Find elements with extreme attribute values (e.g. What is the car with the highest MPG?) 5. Sort: Rank data elements according to some metric (e.g. Order the cars by weight.) 6. Determine Range: Find the range of an attribute within a given set of data elements (e.g. What is the range of film lengths?) 7. Characterize Distribution: Describe the characteristics of a distribution of attribute values (e.g. What is the age distribution of shoppers?) 8. Find Anomalies: Find outliers in a data set which do not correspond to the general trend in the data (e.g. Are there exceptions to the relationship between horsepower and acceleration?) 9. Cluster: Group elements into groups according to attribute value similarity (e.g.

Are there groups of cereals w/ similar fat/calories/sugar?) 10. Correlate: Define relations between the values of two attributes, across a set of data elements (e.g. Is there a correlation between carbohydrates and fat?)

Between low-level and higher-level tasks, users often perform compound tasks. Compound tasks can be divided into a series of primitives from the above list. For example, first retrieve particular values and then sort, or compure derived values.

The next section describes low and compound tasks for (static) networks. [START_REF] Lee | Task taxonomy for graph visualization[END_REF] classify tasks on static networks, but do not explicitly include tasks for the exploration of dynamic networks. Exploration of dynamic networks is listed as the single higher-level task "How has the graph changed over time?". This task is not a low-level task, since it involves multiple data elements, requires knowledge about changing networks, does not imply a particular methodology, and the questions are rather open (cf. Table 3.1).

Tasks for Networks by Lee et al., 2006

In their taxonomy, Lee et al. define graph specific elements: nodes, links, paths, graphs, connected components, clusters, and groups (set of nodes related by attribute).

Lee et al. then define four groups of tasks:

1. Topology based tasks are performed on the network structure itself and involve for example, "Find the set of nodes adjacent to a node?"2 or "Given nodes, find a set of nodes that are connected to all of them." 2. Attribute based tasks are about attributes associated with graph elements, such as "Find the nodes having a specific attribute value." or "Which node is connected by a link having the largest/smallest value?" 3. Browsing tasks are tasks related to following links and paths in the network:

"After they follow a path in the above task, they may want to see A's other friends" 4. Overview tasks are related to the network in general (e.g. size) and the contained clusters and connected components: "estimate the size of a network", "find particular patterns and outliers"

From J. Ahn et al.'s taxonomy we adapt the graph specific elements. However, the taxonomy does not provide the means to describe change over time explicitly.

Temporal Tasks by MacEachren

MacEachren (1995) describes seven tasks related to time, and the existence of geographic objects. We will reuse these tasks later in our own taxonomy:

• Existence of Entity: Does an entity exist at a given time? The answer to such a question is usually yes or no or may be uncertain. • Temporal location: When does an entity exist? The answer to such questions is a particular instant (time point or interval). • Time interval: How long is the time span from beginning to end of an entity? The answer to these types of question is a set of instants or a period. • Temporal Texture: How often does an entity occur? The answer is a number or fraction that defines a frequency (e.g. five times per hour). • Rate of change: How fast is an entity changing or how much difference is there?

Answers include absolute or relative values about change, as well as less quantifiable values such as very fast, faster than, etc. • Sequence: In what order do entities appear? The answer is an ordering which can include concurrency. • Synchronization: Do entities occur together? Answers can include if two entities co-occur, and how much [START_REF] Allen | Towards a general theory of action and time[END_REF].

Task framework by Andrienko and Andrienko

N. [START_REF] Andrienko | Interactive visual tools to explore spatio-temporal variation[END_REF] describe an extensive and detailed framework of tasks for the analysis of spatial and temporal analysis. In their framework, a task is defined by two parts, constraints, which define a set of known elements, and a target, which specifies the type of information that is wanted. Similar to Lee et al. and Bertin (1973), the framework differentiates into elementary tasks, which involve individual elements and their attributes, and synoptic (compound) tasks, which involve sets of objects. In elementary tasks, the target can be an attribute value (characterisitc), a location or a temporal value (reference). Targets on the synoptic level involve trends, distributions and variations (behaviors).

The framework of N. [START_REF] Andrienko | Exploratory analysis of spatial and temporal data[END_REF] further introduces a formal notion to describe all the possible relationships between constraints and target, listing many detailed tasks. An adaptation to dynamic networks would yield a taxonomy that we consider too complex and too hard to use, for our purposes. Nevertheless, the approach we adapt is similar but less formal, as detailed in the following. [START_REF] Peuquet | Its about time -a conceptual-framework for the representation of temporal dynamics in geographic information-systems[END_REF] proposes a much simpler-although less expressive-task framework for spatio-temporal analysis. Her taxonomy describes tasks in terms of queries, according to three representations, each one tailored to representing a particular aspect of the data:

Tasks for Spatio Temporal Data by Peuquet

• Where: Describes spatial locations (woodlands, rivers, cities, etc.) and relations between them (administrative hierarchies, neighboring regions, etc.). • What: Describes potentially movable objects (animals, storms, etc.) and their attributes, embedded in a knowledge representation, such as a taxonomy and other data models. • When: Describes time points, sets of times and changes that happen to elements' positions or attributes.

Based on these representations, a system can receive queries and return values. Queries are created by defining known elements in two representations, and asking for the unknown one in the remaining representation:

• What + When = Where: Describe the location where a specific element is present at a given time. • When + Where = What: Describe an element that is present at a certain location at a given time. • Where + What = When: Describe a time when a certain element is present at a given location.

If an analyst has to find the time point when a certain element is present at a given location (Where + What = When), we can say that the information he is provided with, is the location (Where) and the element (What), while he has to search in time (When). For questions related to the What dimension (When + Where = What), the analyst must be provided with an appropriate view on the particular time and region, and has to describe the different elements (What).

In differentiating between known and unknown information, Peuquet's framework is similar to those by N. Andrienko and Andrienko and Bertin. Yet, we consider Peuquet's framework much simpler, and make it the basis for our taxonomy of dynamic network tasks. Yet, a direct application is not completely straightforward.

Task Dimensions for Dynamic Networks

In the following, we explain how we adapt Peuquet's approach to dynamic networks, taking into account the other taxonomies mentioned earlier; MacEachren (1995); [START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF] and [START_REF] Lee | Task taxonomy for graph visualization[END_REF]. We first describe the units in each of the representations (we will call representations dimensions) and then systematically describe queries. A task is defined as consisting of two parts: a query (made out of known and unknown dimensions) and an action (i.e. query + action = task). While the query retrieves data, the action describes additional actions performed on the values, corresponding to Amar et al.'s tasks: retrieve, sort, characterize distribution, derive value, etc. For example, the task How often is node n present in the network? consists of a query that retrieves the instants the node is present, and an action that counts the number of instants. Yet, in order to properly describe queries for dynamic networks, we must re-define two of Peuquet's initial representations.

Most importantly, networks do not have fixed spatial (screen) positions; rather, nodes move in the abstract graphic space. Node positions are defined by the graph layout, taking into account their connectivity. Nodes and links in the networks are similar to Peuquet's moving elements in the What representation. However, referring to moving elements in space implies aspects such as: a) proximity and distance, b) local vs. global, c) locations, paths and areas, as well as d) characteristics of spatial units. Transposed to a network, these concepts are in fact represented by the network's topology. Asking Where in networks, we ask about the graph elements and their attributes; nodes, links, clusters, etc; Peuquet's question about Where in space, becomes Where in the network (topologically speaking).

Changes that happen to elements over time are captured by Peuquet's When dimension. In our taxonomy, asking What, we capture questions that ask for the behavior of elements and their attributes.

Our three dimensions WHERE, WHAT and WHEN, defined in the following, result from a direct extension of static networks (WHERE) into time (WHEN), while accounting for the behavior of elements in static networks (WHAT). Our notion of behavior is similar to that used by N. [START_REF] Andrienko | Exploratory analysis of spatial and temporal data[END_REF].

WHERE: Dimension of Network Elements

Our WHERE dimension describes the elements in a static network: graph elements and attributes. Graph elements are adapted from [START_REF] Lee | Task taxonomy for graph visualization[END_REF]'s taxonomy and include the following graph primitives: nodes, edges, and an attribute associated with a particular node or edge, e.g., the weight of an edge e or the type of a node n.

To be able to describe higher-level changes in the network, we define Compound graph elements, which are made of multiple graph primitives:

• dyads: a pair of two nodes, • triads: a set of three nodes, • paths: a set connections and nodes between two arbitrary nodes,

• motifs: a specific topological configuration such as a cycle, star etc.,

• clusters: group of densely connected nodes,

• cliques: group of completely connected nodes, • groups: any set of nodes, not necessarily defined by topology or connectedness, • subgraphs: any subset of nodes and edges, etc.

The list of graph elements and attributes can be extensive, and depends on the domain that the network represents.

In our WHERE dimension, we include (domain) attributes of graph elements (e.g., edge weight, a node's group type) as well as measures about graph elements (e.g., degree, centrality, age). Attributes and graph measures are part of a static graph and are/can be defined in every time point. If a node or attribute values is not present in the network, then it is defined just as "not present".

WHEN: Dimension of Time

Our WHEN dimension captures temporal units and derived values. Units includes one primitive, a single instant. Compound units consist of (ordered) sets of instants:

• pair of adjacent instants, • pair of non-adjacent instants,

• set of adjacent instants (period).

• set of non-adjacent instants,

• set of equidistant instants (recurrent or cyclic instants), etc. Using Amar et al.'s tasks (indicated in brackets), further values can be inferred from these temporal units. These inferred values correspond to questions described by other authors: [START_REF] Allen | Towards a general theory of action and time[END_REF]; MacEachren (1995) and [START_REF] Moody | Dynamic Network Visualization: Methods for Meaning with Longitudinal Network Movies[END_REF]:

• how often (derive value),

• how long (range between two instants),

• in what order (sort),

• before or after (sort),

• during (correlate),

• beginning,

• ending, etc.

WHAT: Dimension of Behavior

Our WHAT dimension captures short-as well as long-term events that happen to elements from the WHERE dimension (graph elements and their attributes) in the respective units of the WHEN dimension. WHEN and WHERE are orthogonal dimensions; WHAT captures WHERE × WHEN.

Low-level changes happen to primitives in a single or two adjacent instants, such as appearance and disappearance of a node or changes to one of its attributes (increase attribute a by value x). Low-level changes are responsible for higher-level changes, which:

• happen over a longer period of time,

• involve multiple graph elements, and/or • events that happen on compound graph elements. Table 3.2 lists low and higher-level changes that occur to graph elements over time, in a sense extending Table 2.1 in Section 2.3.3. Some topological measures (e.g. group size) are implicitly mentioned in the table as growing and shrinking of a group. Changes to other measures (e.g. centrality) and domain attributes (e.g. edge weight, node type, etc.) are summarized as attributes. Attribute values are time-series with the general change increase, decrease, pulse, converge, diverge, etc. Changes further have characteristics such as speed, or distribution (among elements in the WHERE dimension).

1-Dimensional Tasks

We now have all the definitions to describe tasks for dynamic networks: (i) a methodology to create queries, (ii) definitions of units in each of the three dimensions WHERE, WHEN, WHAT, and (iii) analytic actions from Amar et al.'s taxonomy.

In the following, we create 1-dimensional tasks. These tasks involve two known and one unknown dimension which contains the answer and which is to be explored. We then refer to compound and higher-level tasks. Tasks in this section are created by systematically combining units from the three dimensions described in the previous section and have been complemented with tasks found in the literature about dynamic networks.

Where? -Network Tasks

The following tasks are of the form WHEN + WHAT = WHERE, which translates into "Which element in the network is affected by a given event at a given time?"

• Are nodes n 1 and n 2 connected at time t?

• How many nodes disappear in time t? • Which group is grows fastest? • Which nodes keep the exact same neighbors between times t 1 and t 2 ?

• Which two nodes are connected only once? • Which cluster is the most unstable over time?

• Which nodes remain in group g 1 from time t 1 to t 2 .

• Which parts of the graph remain just for one time step? • Which node increases its degree over time (Archambault et al., 2011a) • Which set of three nodes appear together exactly once? (Archambault et al., 2011a) • Which two edges appear together exactly once? (Archambault et al., 2011a) which is made of the query When is node n present (WHERE+WHAT=WHEN), the query returns a set of arbitrary instants which serve as input to Amar et al.'s task: derive value (counting time steps).

Compound Tasks

The above-mentioned 1-dimensional tasks can be used to describe compound tasks. Compound tasks consist of several low-level tasks to be performed in sequence, i.e. the answer to the first task, serves as input to the second one.

Examples of compound tasks are:

• Which of the groups that node n is part of has the longest lifespan?

• In what order do the nodes in group g 1 join it? • How big is group g when node n leaves it?

The last task combines the tasks "When does n 1 leaves g?" and "Is n 2 part of g at time t?", whereby t is the answer to the first task.

Higher-level Tasks

Our framework allows us-to a certain extent-to discuss the complexity of a task. There may be (at least) two aspects that make one task more complex than another:

• number of sub-tasks in compound tasks, and • the cognitive effort to perform the action.

Many tasks related to dynamic network exploration are hard to describe with low-level tasks. Here, we list tasks that we consider higher-level. Higher-level tasks still involve our three dimensions and Amar et al.'s tasks but in some cases, only one dimension is given, i.e. a single node, two time steps, etc.

Examples of higher-level tasks include:

• Find similar time steps.

• Describe the distribution of edge density in time and topology.

• What are trends in the network? • Which are the important time points?

• Which nodes behave ab-normally?

• Describe the formation of clusters.

• Describe the major changes between t 1 and t 2 .

From Data Tasks to Visual Tasks

So far, the described tasks are all in data space, i.e. they refer to objects in the data (the dynamic network). Those tasks are described independently from the actual visualization. A task can be low-level in data space, e.g. Is node n present at time t? but can be quite hard with certain visualizations. For example, consider an aggregated representation of a dynamic network (Section 2.6): assessing when a node is present and when not is impossible, if no additional visual clue is provided (e.g. color-coded time, labels, interaction). Visualizations are designed to support particular tasks, and can render a task that is difficult in data space easy in visual space. Answering whether the node n is present in t can be simple on a time line visualization (Section 2.6) if nodes are properly laid out and labeled.

Turning data-tasks into visual tasks requires users to map between both. This translation from network-oriented tasks into perception tasks and interactions is not straightforward: it requires some degree of familiarity and experience with the visual representation. For example, node-link diagrams represent topology, using points for nodes, lines for edges, and rely on a layout algorithm to place the nodes on the plane. Graph attributes are visualized using the visual attributes associated with the points and lines. A translation of network tasks into perception tasks may require some learning, leading to some acquired knowledge on the properties of the visual representation.

In particular, users familiar with network visualizations know that, in addition to reading lines to understand the topology of a graph, connected nodes in a force-based layout are closer-by than disconnected ones, with the exception of "bridge" nodes connecting two distant groups and that can be detected with their long connecting lines. This is a property enforced by most layout algorithms, although it is sometimes relaxed for small graphs where lines are easy to read, allowing nodes to be evenly spaced. Otherwise, this property is essential for larger graphs where lines should be drawn lightly to limit occlusion and cannot be read easily. Therefore, topology tasks can be performed by either reading the lines, if possible, or looking at the proximity of nodes. For larger graphs, densely connected nodes become clouds where bridges can be noticed with their long outstanding lines.

Most of the studies on graph readability have focused on relatively small graphs (¡ 50 nodes) where participants had to read individual lines or identify nodes to perform a tasks. Yet higher-level network-tasks, which involve tracking groups of nodes and estimate the type and quantity of change, require both proximity inspection and reading lines when necessary and possible.

Implications

We believe our taxonomy is useful, because it allows us to describe components of user interfaces and systems in terms of which dimensions and combinations thereof they cover; and thus, what low-level and compound tasks they support. The following high-level implications for the design of dynamic network visualization systems can be drawn from it.

When: Specific time steps must be easy to identify and reach, so that users can compare and analyze them in detail. Features that can meet these requirements include overviews of the network's time steps, mechanisms for the quick selection and filtering of those steps, mechanisms for temporal aggregation, and a flexible scheme to navigate from one step to another.

Where: Graph elements with particular properties must be easy to identify in the network's topology, and to track over time steps. The layout and rendering of the network should be parameterized carefully.

What: Understanding the nature of, and possibly quantifying, the changes that graph elements undergo requires that the corresponding attributes be easy to identify. Those should be emphasized.

Compound and Higher-level Tasks: Performing tasks in sequence can require switching to a more appropriate representation of the network while maintaining the users mental model of the data. It further implies interaction and navigation mechanisms.

Task Complexity: Although our taxonomy is yet in an initial state, we can sketch and discuss complexity of tasks in data-space. Important factors on task complexity may be the number of open dimensions, the number of given elements in each of the given dimensions, and the number of sub-tasks in a compound task. Eventually, complexity of a task also depends on the data itself, i.e. the number of elements that have to be searched; retrieving similar time steps in a graph with five time steps is much easier than in one with over a hundred.

Visual Tasks: Tasks that seem complex in data-space can be simple in visual-space. Especially those tasks involving multiple units from our dimensions, e.g. groups, time periods, etc., can be supported by pre-attentive mappings and well designed visualizations. For example, showing the differences between two time steps explicitly makes comparison tasks easier.

Evaluation: So far, the focus of the implications was on the design of visualizations, but what can we learn from the taxonomy about evaluating visualizations? Low-level tasks and such that involve few elements are better suited to be used in controlled user studies, since quantitive measurements are more likely to be comparable. Higher-level tasks, which involve human judgement, may yield very different results across participants. However, carefully choosing tasks and components of queries may allow for evaluation of even more difficult tasks.

Comparison with the Taxonomy by Ahn et al. (2012)

While in the progress of publishing our taxonomy, J. [START_REF] Ahn | A Task Taxonomy for Network Evolution Analysis[END_REF] made a Technical Report publicly available, which describes a taxonomy of tasks for the analysis of dynamic networks. This section briefly compares their approach to ours.

Their taxonomy is based on three dimensions: 1. Network Entities, which fall into nodes, links, subgroups, or the entire network. 2. Network Properties such as attributes associated to nodes and edges, and which capture both topological attributes (e.g. node degree) and domain attributes.

Temporal Features, referring to the change in property values and captures:

• Temporal Features of individual events such as birth or death (appearance, disappearance of network entities), • Temporal Features of aggregated events-Shape of Change spanning multiple time steps and describe growth, convergence, and stability, • Temporal Features of aggregated events-Rate of Change also spanning multiple time steps and describ speed and acceleration of change.

A task in their taxonomy is defined as a triple of the form Entity-Property-Temporal Feature. For reasons of complexity, the corresponding design space described in the report captures only two dimensions; Entities and Temporal Features. Tasks are described with a pipeline model, illustrated in Figure 3.1. The pipeline consists of the three steps: 1) Select Entities, 2) select Properties, and 3) select Temporal Features necessary for analysis. During analysis, users and analysts change tasks by adapting the stages of the pipeline, i.e. change the graph elements of interest, change temporal feature to observe. Compound tasks are described as involving multiple tasks.

The basic building blocks-graph entities, attributes, temporal features-are similar in J. Ahn et al.'s taxonomy and in ours, although not grouped the same way. Their taxonomy is very detailed and lists many important aspects of temporal changes in dynamic networks. However, similar to N. Andrienko and Andrienko's taxonomy, we consider J. Ahn et al.'s taxonomy very complex to inform the design of visualizations, because of the many different concepts involved. With our taxonomy, we dso not aim for completeness in terms of tasks. Instead, we are seeking for a simple way to describe the main dimensions that an interface must allow to explore, and which complications arise from those.

Conclusion and Limitations

As the number of possible tasks is virtually infinite [START_REF] Lee | Task taxonomy for graph visualization[END_REF], we do not claim that our taxonomy is complete. Constructing task taxonomies is a complex process and ideally involves analyzing examples from the literature and talking to experts. Our taxonomy is based on the structural analysis of data. It presents an initial step towards a more comprehensive understanding for dynamic network exploration.

With our taxonomy we are able to:

• "Generate" and categorize various tasks for user evaluation,

• Inform the design of novel interfaces, • Discuss the complexity of tasks in data-space, • Categorize existing interfaces in how far they support the three dimensions. For example, an interface that does not allow for selecting an individual time point lacks support for all (low and high-level) tasks that require a single time step; either as given in the task (e.g. WHEN + WHERE = WHAT) or as answer (WHAT + WHERE = WHEN).

The taxonomy informs the design and evaluations of the visualizations developed in this dissertation. Yet, it is extensible in many ways. Future work consists of relating it to tasks in the literature, but more importantly to try to better describe types of changes and events that are important in dynamic network analysis (WHAT). A more comprehensive taxonomy does not necessarily capture more tasks or allow us to better judge the complexity of tasks, but to provide good rationales of when a particular visualization or technique is necessary, what they have to show and which interaction is necessary.

Animated Transitions and Temporal Navigation

Contents V ISUALIZATION systems for dynamic networks should provide effective visual rep- resentations and interactions to support tasks such as described in our taxonomy. Some tasks require exploration of events over time (WHEN), within topology (WHERE) as well as the type of changes (WHAT). A user's focus has to switch during various stages of the analysis or exploration process; a compound task may first require the user to find a particular time point, then describe the network topology, and eventually compare it to a particular other time point.

Many techniques have been described and evaluated in the literature (see Chapter 2). Sequences of the network, one time step at a time, provide particular advantages. Showing any time step individually reduces complexity of the overall network in an intuitive way and allows for detailed observation of the topology for every time step (WHERE). As changes are implicitly encoded as difference between time steps, the network visualization itself remains free to encode attributes about the topology (e.g. node degree), domain-specific attributes (e.g. node or edge type), or measures related to time (e.g. age of a node or edge). Users can easily track individual elements or subgraphs (WHEN + WHAT).

Network sequences are simple to integrate, and have already been integrated, into existing network visualization systems (e.g., Cytoscape (Cytoscape: An Open Source Platform for Complex Network Analysis and Visualization, 2013), Gephi [START_REF] Bastian | Gephi: An open source software for exploring and manipulating networks[END_REF], Pajek (Pajek -Program for Large Network Analysis, 1997), Visone [START_REF] Brandes | Visone -Analysis and Visualization of Social Networks[END_REF]), using animations between individual time steps to provide some cognitive support to indicate state changes [START_REF] Tversky | Animation: Can it Facilitate?[END_REF].

Animated Transitions and Temporal Navigation

Navigation between time steps is provided by common video controls and/or time sliders (e.g., TempoVis (J.-W. Ahn et al., 2011), Gephi) to navigate between time steps (temporal navigation).

Technically, animated sequences allow exploration of large networks-the entire screen is available for a single time step-and such with many time steps. However, their value tends to decrease as the number of elements that change between two steps increases. A further limitation comes from their inability, in their basic form, to transition between non-contiguous time steps. Especially for networks with many time steps, all animated transitions between intermediate steps have to be played. This makes the comparison of distant time steps difficult and actually increases users' cognitive load.

This chapter addresses the following research questions:

How can animations between time steps be improved to facilitate perception of changes? How can users navigate easily between time steps? Which complementary techniques and visualizations are necessary in a system for higher-level task support?

This chapter presents an interactive visual interface, called GraphDiaries, which explores animated staged transitions with change highlighting between time steps, as well as adaptive and non-linear temporal navigation techniques. The design of GraphDiaries is motivated by the three dimensions in our taxonomy from Chapter 3 and combines various techniques in a consistent way; small multiples, difference highlighting, temporal aggregation, time sliders, interactive layout stabilization and a method to track nodes over time. It is extensible in many ways and provides a base for further research.

We evaluate our animated transitions and non-linear navigation with higher-level tasks. While studies on animations have so far focused on relatively small graphs where participants had to read individual nodes and lines to perform topology tasks, we are interested in tasks which involve tracking groups of nodes and estimate the type and quantity of change.

Animations in the User Interface

Comparing the results from the studies mentioned in Section 2.8 does not lead to a simple answer about the general usefulness of animations for dynamic networks. Although animations barely increased performance for most tasks, users often ranked them high in preference. User feedback also reveals some drawbacks of animations: distraction, longer run time, difficulties to find particular time steps, which in turn increases task completion time. These results altogether reveal that many important aspects of animations are still not well understood; pacing, staging, ordering of stages, graphical rendition of transitions (smooth/abrupt trajectory, fading, etc.). More experiments, especially ones involving 4.1. Animations in the User Interface higher-level tasks and larger data sets, are required to better understand the challenges and find interaction techniques that efficiently support dynamic network exploration.

Mentioned across all studies, either implicitly or explicitly, is the lack of interactive control for animations. In many applications that display dynamic networks, animations are precomputed, and navigation in time is linear (e.g., Gephi [START_REF] Bastian | Gephi: An open source software for exploring and manipulating networks[END_REF], TempoVis (J.-W. [START_REF] Ahn | Temporal visualization of social network dynamics: prototypes for nation of neighbors[END_REF], Visone [START_REF] Brandes | Visone -Analysis and Visualization of Social Networks[END_REF], [START_REF] Pohl | As time goes by: integrated visualization and analysis of dynamic networks[END_REF]).

Studies concluded that animations perform generally worse than small multiples, but the authors see more potential in using animations. This section reviews how animations are used in user interfaces and information visualization in general.

In general, animations have long been used to convey changes in user interfaces. For example, [START_REF] Chang | Animation: From cartoons to the user interface[END_REF] describe animations for the user interface, inspired by cartoon animations. These animations include slow-in slow-out movements, motion blur and dissolving windows, helping user to keep track of state changes in the interface. Section 2.8 already reported on studies that evaluated animations under different conditions. [START_REF] Heer | Animated transitions in statistical data graphics[END_REF] describe animated transitions between data graphics, such as line charts, pie charts and bar graphs. They report that users generally prefer slower animations. Animations helped users perceive changes much better, but the authors recommend to use staged transitions instead of parallel ones, even if they report that "the advantages are not overwhelming". [START_REF] Bezerianos | Graphdice: a system for exploring multivariate social networks[END_REF] employ animation to switch axes between between scatterplot views of graphs as first described in ScatterDice [START_REF] Elmqvist | Rolling the dice: Multidimensional visual exploration using scatterplot matrix navigation[END_REF]. While using animations to highlight changes within textual document histories, [START_REF] Chevalier | Using text animated transitions to support navigation in document histories[END_REF] avoid staged transitions to shorten transition time which, in turn, is an important factor for the efficient use of short-term memory when interpreting animations.

Animations in Information Visualization

Staged animations have also been used for visualizing dynamic trees [START_REF] Guilmaine | Hierarchically Animated Transitions in Visualizations of Tree Structures[END_REF], e.g., when expanding subtrees in SpaceTree [START_REF] Plaisant | SpaceTree: Supporting Exploration in Large Node Link Tree, Design Evolution and Empirical Evaluation[END_REF] or when navigating through the tree's changes over time [START_REF] Card | Time Tree: Exploring Time Changing Hierarchies[END_REF]. DOITrees [START_REF] Heer | DOITrees Revisited: Scalable, Space-Constrained Visualization of Hierarchical Data[END_REF]) also show animations when navigating the tree, but run the different types of animations (subtree expansion, layout adaption) in parallel. In addition, nodes that appear or disappear are briefly highlighted. [START_REF] Yee | Animated exploration of dynamic graphs with radial layout[END_REF] employ animations to navigate in large graphs, while showing the neighborhood of only one node at a time.

Effectiveness of Animations

Animations as a means to convey changes in user interfaces has been extensively studied in psychology. [START_REF] Tversky | Animation: Can it Facilitate?[END_REF] are critical about the effect of animations to communicate information, arguing that even if animations are intuitive in showing temporal changes (Principle of Congruency), they are hard to perceive and process by humans (Principle of Apprehension). The problem is to find an appropriate speed that allows the user to entirely "read" and understand the visualization; if animations are too short users can miss information, if they are too long, users have to wait. Generally, the less change happens, the faster a transition can be.

Tversky et al. contrast cases where animations have been effective and where not. Animations have been effective in such cases where (i) they conveyed additional information that was not shown in static variates of a graphics, for example, speed or changes on a finer level of granularity. Animations have further been considered useful in (ii) showing the trajectory of objects, for example though space, and (iii) are effective to support learning in school (in most cases). However, Tversky et al. argue that animation in the referred studies performed better because either animations showed information not visible in static graphics, or because they used better visualizations and were interactively controlled by the user. Tversky et al. conclude that interaction on its own is highly supportive for learning, since users can re-view animations, focus an particular parts and adapt the animation speed. Tversky et al. conclude that the (pure) effect of animations per se seems little or just not properly evaluated.

The results by [START_REF] Robertson | Effectiveness of animation in trend visualization[END_REF] (see Section 2.8) support Tversky's findings. Both encourage animations for presentation (i.e. explain system in school classes), but discourage it for analysis. They considered it crucial that a presenter draws attention to (parts of) the animated data and explains what happens.

Summarizing the concerns about animations manifests that animations are desired where they show additional information and/or if they are interactive; although they seem to perform poorer, animations seem to be more engaging to users. This further suggests that animations are not appropriate to show changes across time steps in dynamic networks.

From the related work on the effectiveness of animations in user interfaces and from the studies in the graph literature, we conclude that animations are supportive in cases where there is interaction and temporal navigation. Animations can further show additional information about changes and events. The following sections describe our approach to an interface that enhances animated transitions by integrating them in a more general interface, complemented with other visualizations and improved interaction control.

Graph Diaries

GraphDiaries is an interface designed to help users answer questions related to the different dimensions of our taxonomy presented in Chapter 3 : WHERE, WHAT and WHEN. GraphDiaries employs interactive, staged, animated transitions that highlight changes from one time step to another, difference views and small multiples for temporal navigation. Users are able to control many of the transition parameters, such as pace, position, type and jump between arbitrary time steps. By integrating different techniques and interface components, we try to overcome some of the drawbacks of animations, as discussed in the last section.

Interface Components

The network view (

Dynamic Graph Layout

Layout stabilization (Figure A.2(c)) enables users to choose between a globally optimized layout for mental map preservation, a locally optimized layout for each time step, or any configuration in-between obtained by linear interpolation. Although a slider for partial stabilization has been used previously by [START_REF] Federico | A visual analytics approach to dynamic social networks[END_REF], our implementation is actually independent of the underlying graph layout. We were interested in how differently stable layouts combine with the different transitions, in order to support users in different tasks. Depending on the layout strategy, the same transition allow users to track different types of changes; combined with change highlighting, a stable layout draws users' attention to regions of the network that are changing-users can navigate quickly through time and to perceive the different amount of red and blue within the graph. While for a locally optimized layout, transitions support tracking changes in entities' positions, thus reflecting their new neighborhood (Section 4.3.3).

Layout Calculation

Global and locally-optimized layouts are computed as follows: the global layout is computed using the LinLog [START_REF] Noack | Energy models for graph clustering[END_REF] algorithm on the whole time-aggregated graph, taking into account the number of edges between node pairs as edge weight. The locally-optimized layouts are computed for all time steps t i , by running the faster Fruchterman-Reingold layout algorithm [START_REF] Fruchterman | Graph drawing by force-directed placement[END_REF] on each timestep independently. For force-based algorithms that perform iterative improvements, instability is avoided by starting from an initial layout obtained by interpolating between the layout at the previous time step t i-1 and the global layout. Nodes that appear at this point are initially positioned at their coordinates in the global layout.

All layouts, global and local, are stored in memory, so that the exact same layout is reused when navigating back to the same time step. As the user manipulates the layout adaptation slider, the interpolated layout is calculated and then relaxed to remove overlaps. We found an almost fully locally-optimized layout (80% local layout, in other words 20% stabilization) to be a good tradeoff for the various data sets we tested, which we use as default value.

Node Operations

While global and local layouts, as well as their interpolations, change the entire layout, users can pin individual nodes to make them stay in the same position. Nodes are pinned by a double left click and cause the global and local layouts to update accordingly. To preserve the mental map of the network, the original global and local layouts are stored when nodes are pinned, and re-stored when all nodes are un-pinned. A right click on a node highlights it within all small multiples and shows its trajectory in the graph view in light yellow.

Staged Animated Transitions

Staged animated transitions with change highlighting are designed to help users understand what changes occur in the network's topology and where, while navigating through time steps (Figure 4.2).

Design Goals

In order to address the problems of animations for graph visualizations (see Section 4.1) we define design goals for the transitions in GraphDiaries. In addition to common design goals for animations such as smoothness, aesthetics and intuitiveness [START_REF] Chevalier | Using text animated transitions to support navigation in document histories[END_REF], and in accordance with the goals for a good graph animation as defined by Friedrich and Eades [START_REF] Friedrich | The marey graph animation tool demo[END_REF], the design of our transitions is based on the following goals: D1 Separation of Concerns-Staged transitions avoid overloading users with too much information at a time. It allows them to focus on each type of event in turn (WHAT). Low-level changes, which account for all types of higher-level changes, can be split in three stages: node and edge removal, node repositioning and node and edge addition.

D2 Visualization independence-The visual encoding of transitions must not interfere with the visual encoding of network data (node and edge shapes, color, visual elements etc.) or any user driven annotations (e.g., selection of nodes) . We want our transitions to be integrable into all kinds of existing node-link visualizations and visual mappings.

D3 Controllability-As implied by multiple studies (e.g., Farrugia & Quigley, 2011;Archambault et al., 2011a), users should be enabled to (i) control the animation speed, (ii) directly navigate between time slices, (iii) freely navigate inside the frames of a transition, as well as (iv) interrupt transitions at will.

Controllability is important for two reasons: it enables users to focus on graph elements (WHERE) and to understand complex changes (WHAT), possibly playing the transition back and forth multiple times at low speed; it also enables them to quickly browse through or skip transitions or particular stages within transitions of low interest to them (WHEN).

D4 Ad-hoc Transitions-As users interact with the visualization, they must be able to change other visualization parameters, such as the graph layout or the timeline's granularity, independently. Other than in existing "graph movies", any transition should be calculated on demand, taking into account the current state of the visualization (e.g., layout, visible graph elements, current visual mappings). This includes the ability to show transitions between non-adjacent time steps to allow the comparison of arbitrary time steps.

We explored various implementations of the above goals, iterating on the interaction design and fine-tuning the parameters through pilot tests. We compared the different options considered for both the staging of transitions and the interactions that control temporal navigation. The following sections describe our final design, relating to the features of the original design goals.

Transition Stages

Staged transitions in GraphDiaries can be triggered between any two time-steps t i and t j , not necessarily adjacent (D4). Stages correspond to the three types of low-level topological changes (D1), as illustrated in Figure 4.2.

1. Remove Elements (300 ms) -A red halo fades-in around each node and edge that is no longer present in t j (Figure 4.2(b)). Edge halos fade-in slightly later than node halos to emphasize the perception of affected nodes in clusters and dense regions. Then, all elements involved in the removal fade-out along with the associated halos.

2. Transform Layout (600 ms) -Remaining nodes and connections get smoothly moved to their new position in the layout of t j using a slow-in/slow-out pacing function (Figures 4.2(c),(d) and (e)). This stage has a longer duration to help users track node position changes. Changes to domain-specific attributes, encoded using, for example, node fill color or node size, also get animated during this stage.

3. Add Elements (300 ms) -The last stage adds new nodes and edges by fading them in, accompanied by blue halos that vanish thereafter (Figure 4.2(f)).

In cases where t i > t j (user changes from a later to an earlier time step), nodes which are present in t j but not in t i are removed while highlighted in red, and nodes which are present in t i but not in t j are added while highlighted in blue. Thus, halo coloring does not convey temporal order, but type of change.

We tested multiple alternative designs for our transitions. We discarded the option of first showing element insertion, then changing to a new layout, and finally showing element removal, because it significantly increases the number of visual elements on screen during the transition. These elements must potentially be moved in the second stage, causing additional distraction. Furthermore, elements that are present in both time steps are not distinguishable. We also considered separating node and edge changes in two stages, but this increases transition time even more by making the transition appear less smooth and changing regions harder to identify. Furthermore, it introduces ambiguities such as the following: a node disappearing implies that its incident edges disappear as well; but when first removing edges and then nodes, users whose attention gets caught by a particular node might no longer know whether this node was connected or isolated before the staged transition started.

We also tried to run stages in parallel, either partially or completely, for example, repositioning nodes while removing or adding elements, or start fading-in new elements before the fade-out of removed elements ended. However, we found that this option contradicts D1 in the sense that users cannot focus on a particular type of change; staging allows them to anticipate when a certain type of change will happen. Overall, we observed that as networks become denser and as changes are more frequent, staging should be favored over shorter-but-more-confusing transitions that run all animations in parallel (fade-in of new nodes, fade-out of removed nodes, repositioning of remaining nodes).

Change Highlighting

We use halos to highlight changing nodes and edges rather than coloring them directly, so as to avoid interfering with existing visual encodings (D2), instead making it possible to visually encode, for example, temporal network measurements such as dynamic centrality, or domain-specific data attributes [START_REF] Lerman | Centrality metric for dynamic networks[END_REF][START_REF] Federico | Visual analysis of dynamic networks using change centrality[END_REF]. Figure 4.2 shows that halos are still visible when node fill color encodes a domain-specific data attribute. A recent study by [START_REF] Archambault | Difference map readability for dynamic graphs[END_REF] confirms that using color to highlight changes between two graphs improves users' performance, compared to a simple animation or no animation. Further evidence about the benefits of explicit change highlighting in comparing diagrams is found by [START_REF] Zaman | The effect of animation, dual view, difference layers, and relative re-layout in hierarchical diagram differencing[END_REF]. While there is no strong agreement in the community about which colors to use to encode those changes, we argue that red and blue are relevant choices as they feature a significant contrast in hue and are readable by people impaired by color blindness.

Halos around nodes and edges have a constant, scale-independent thickness, which guarantees that changes will always be clearly visible, no matter the network's size and zoom level (Figure 4.3). Holding the shift-key while hovering any small multiple in the timeline view highlights the direct differences between the network in the Network view (Figure 4.4) and the one in the hovered thumbnail; blue elements are present only in the hovered thumbnail, red elements are only present in the current (reference) time step.

The duration of each stage of a transition was fine-tuned manually. While a total duration of 1.2 seconds might seem long, it is necessary to actually enable users to keep track of the complex changes that occur (D1). However, as users might not always be interested in all stages of a transition depending on the task at hand (depending on the WHAT component of the task), we enrich the animated transitions with interaction techniques that let users quickly skip or fast-forward them (D3), while navigating through time (WHEN).

Temporal Navigation

Users navigate through time using either the thumbnail previews, the time slider, or the animation control panel. Holding shift while moving the mouse wheel to zoom, scales the time line horizontally. The Time Control Panel mentioned earlier (Figure A.2(g)) provides standard playback controls, including playback speed, looping and temporal aggregation (hours, days, weeks..). Changing temporal granularity creates temporal aggregation of the network's steps. Thumbnails get updated and the network view shows the same transitions as described in Section 4.3.

We defined methods to navigate over time and interactively control staged transitions both across time steps (inter time-step navigation) and within transitions (intra time-step navigation). In the timeline, red, white and blue sections visually identify the three stages of a transition, thus facilitating intra time-step navigation when dragging the slider (

Inter Time-Step Navigation

Users move between adjacent time steps using the left and right arrow keys. To jump between non-adjacent time steps without going through the intermediate ones, users simply click on the corresponding thumbnail. In both cases, the main graph view gets smoothly animated according to the staged transition technique described earlier, providing details about what happens where in between the two time steps.

Intra Time-Step Navigation

Users can control a staged transition's unfolding in various ways, depending on whether they are trying to get an overview of changes through time (WHAT and WHEN), are tracking a particular element over time (WHERE and WHAT), or searching for a particular event (WHEN and WHERE): We provide four options for controlling the duration of and the position within a single transition so that users can adapt navigation to the current task, either overview, tracking or searching for a particular event related to a graph entity (WHAT) or a location (WHERE): a) Full Transition -Pressing and holding down the left mouse button on a thumbnail, or keeping an arrow key depressed, runs the full staged transition.

b) Interrupt and Finish -Releasing the mouse button or key while the transition is running interrupts it. The remaining stages are played fast-forward (200 ms), all in parallel, in order to guarantee perceptual continuity and help users preserve their mental map of the network.

c) Skip Animations -Clicking on a thumbnail or hitting an arrow key (quick press/release) jumps to the target time step without any animation or highlighting, to allow browsing through steps very fast. This is useful when the details of changes between two particular steps are not so important or he uses a global layout to quickly see where the graph changes (WHAT is given, the user explores time and affected graph elements WHEN, WHAT).

d) Interact -Controlling the animation's pace with a time slider can be very effective when exploring transitions. We support this through direct manipulation of the time slider, with the red, white and blue zones between steps delimiting the three stages of the transition. Figure 4.5 illustrates the use of this strategy to identify elements that exist only during one time step: by quickly moving the slider back and forth between the blue slider part of the previous transition and the red part of the following one.

The slider requires the two compared time steps to be adjacent on the timeline. In order to use the slider on non-adjacent time steps, users can create a new timeline just below the default one (Figure 4.6(a)). Dragging a thumbnail from the default time line to the new timeline duplicated the time step. Users can drag several time steps and consequently use the slider to navigate between them. Difference highlighting on the new timeline layers show differences between the time steps on only that layer. Thumbnails are removed by right mouse click. If the graph has many time steps, thumbnails on the timeline get squeezed, using the mouse wheel (

Dynamic Node Queries

Changing layout and disappearing nodes can make it hard to follow specific sets of nodes and subgraphs. GraphDiaries provides a mechanism to highlight node sets over time. This feature, called node queries, is similar to the selection highlighting feature available in ScatterDice [START_REF] Elmqvist | Rolling the dice: Multidimensional visual exploration using scatterplot matrix navigation[END_REF]. Queries are created by lasso selection and are represented by a colored halo around the nodes that are part of the query, plus a convex hull polygon that encompasses all those nodes.

Controlled User Study

To evaluate the potential benefits of staged transitions and associated interactive navigation techniques, such as the possibility to smoothly navigate between non-adjacent time steps, we conducted two controlled experiments. Evaluating all factors and combinations of techniques in GraphDiaries would require multiple user studies, each one looking at a subset of factors in isolation. The first experiment measured participants' performance on a set of three tasks, each one covering one of the dimensions of our taxonomy (WHERE, WHAT, WHEN). The second experiment was a follow-up study to obtain additional empirical data about participants' ability to assess instability in dynamic networks.

Compared to previous evaluations of graph visualization techniques (e.g. Farrugia & Quigley, 2011;Archambault et al., 2011a), we favored higher-level tasks that involve observation, tracking and comparison of attribute-based subgraphs, not necessarily corresponding to a single connected component. Our tasks possibly require non-linear navigation patterns, for example, revisitation of a given time step multiple times, compare non-adjacent time steps, and tracking different kinds of changes between steps. For graph navigation, we believe low-level tasks, such as tracking one specific node over time or detecting the presence of particular edges in two specific time steps, do not properly reflect realistic network exploration tasks and would not be very informative as to the techniques' efficiency. However, tasks that are too high-level by requiring extended graph knowledge or experience in mapping user tasks into visual tasks, are hard to control and to compare in a controlled user study, which aims in investigating the general understandability and benefits of technique.

Techniques

The primary goal of this study was to assess the potential benefits of techniques that support navigation in time and the impact of different visual feedback strategies to convey changes. For a first assessment of our design choices, we compared GraphDiaries to two baseline techniques: video animation and flip book. We compared conditions in which different time navigation capabilities were enabled. The interface components made available were the same across conditions: only the graph view ( FB: Flip Book provided a static representation of the graph at each time-step, like an image viewer or a file explorer with content preview. Users could switch between any two images but there were no animation between time steps. Graphs were replaced instantaneously. To jump between time steps participants either clicked on the thumbnail in the timeline, or used arrow keys.

VA: Video Animation allowed participants to navigate using a video player metaphor, as in Gephi [START_REF] Bastian | Gephi: An open source software for exploring and manipulating networks[END_REF] and TempoVis (J.-W. [START_REF] Ahn | Temporal visualization of social network dynamics: prototypes for nation of neighbors[END_REF] Animations were shown between consecutive time steps only and showed all changes at the same time: added nodes and edges fading-in, removed ones fading-out, and all others moving to their position in the target step's layout. All techniques used the layout strategy described in Section 4.2.2 with a stabilization of 20% (almost fully locally-optimized layout). Node positions were calculated and stored once for each data sample in order to ensure the exact same layout across techniques. Labels where shown on-demand when hovering nodes. All datasets fully fitted on screen at nominal scale. Panning and zooming were thus disabled to avoid noise in the experimental data due to uncontrolled differences in participants' spatial navigation strategies.

Tasks

Participants were asked to answer questions about a real-world co-authorship network made of more than 10,000 authors from 200 research groups between 2005 and 2009 (5 time steps). Nodes represent individual authors. In order to convey group membership, authors that belonged to the same research group shared the same color. For each task, we used data samples consisting of approximately 100 nodes in 7 groups (average, per time step). Group membership was not directly related to the network's topology. In a given time step, an edge links two nodes when the two authors have collaborated on at least one publication during the corresponding year. Participants had to answer the following questions:

T Size -In which year is the red group largest? (WHEN) Participants had to navigate through all time steps and compare them, in order to find the time when the red group was largest. To input their answer, they had to press the space bar and select the correct year from a pop-up menu.

T Inst -Which group features the most changes over time? (WHERE Groups exchanged nodes over time, for example, they lost some nodes and gained new ones. Participants had to observe all groups over the years, and eventually click any node from the group that featured the most changes.

T Trend -What is the trend of the red group? Does it grow, does it shrink, does it remain stable, or is it unstable? (WHAT Participants had to spot a trend over the years. Groups that grew actually doubled in size. Those that shrank halved. Both did so in a non-monotonic way. Stable groups kept a set of constant core members that was larger than half the size of the group. Unstable groups did not feature any such set of stable core members. They could possibly gain, loose or exchange all of their members over time. To input their answer, participants had to press the space bar and select the correct answer from a pop-up menu.

Datasets

A major problem with these tasks is that difficulty can vary significantly with each dataset's complexity. Observed differences between techniques can actually stem from this variability if dataset complexity is not controlled and counterbalanced properly across conditions. But comparing the complexity of different datasets is difficult, especially if they have not been created artificially, carefully controlling their characteristics.

To guarantee equivalent conditions, we extracted and analyzed data samples (subgraphs) from our main dataset for each task, and reused them across all participants. Each task required special conditions and tuning to make sure that there would not be too much ambiguity with respect to what answer was the correct one.

We re-used the same datasets across techniques, thus allowing for a fair comparison between conditions. Each data sample was used in 3 trials, one per technique. However, simply reusing datasets across conditions would have been risky, as participants might have remembered answers or partial answers from previous trials, resulting in an uncontrolled learning effect. To minimize possible asymmetrical transfer between conditions, we mirrored and rotated the three instances of each network. In addition, each time a dataset appeared, node labels were anonymized by randomly assigning them popular English names at runtime. The data samples were obtained as follows and were rendered as illustrated in Figure 4.8. Nodes were filled with the color of the corresponding research group, using the SetI 9-color scheme from ColorBrewer (ColorBrewer, 2002) so that participants could identify groups pre-attentively.

T Size -Per dataset, seven research groups were randomly extracted from the original network and one group was chosen to be the target one (colored red). The size of that group was analyzed over time and data samples were selected by hand in order to remove sources of ambiguity. A group, at the time step when it was at its largest size, always featured at least two more nodes than in any other time step.

T Inst -All 200 groups from the original network were analyzed, based on particular types of changes: size, nodeGain (nodes added per time step), nodeLoss (nodes removed per time step), and number of constantNodes. Each dataset was composed of 6 groups with a low rate of change: avg(nodeGain) < 3, avg(nodeLoss) < 3, avg(size) > 6.

The additional target group was extracted from the original network and featured a high rate of change: avg(nodeGain) > 7, avg(nodeLoss) > 7, avg(size) < 15.

T Trend -For each dataset, 7 groups were randomly extracted from the original network. One group was chosen to be the target one (colored red). Datasets were selected by hand to ensure that the target group featured a clear trend, either growing, shrinking, stable, or unstable.

Design and Apparatus

The first experiment followed a within-subject full-factorial design with the 3 earliermentioned techniques (Tech ∈ {GD, VA, FB}) and the 3 tasks described above (Task ∈ {T Size , T Inst , T Trend }) as independent variables. The resulting 9 conditions were counterbalanced using a Latin square, blocking by Tech. For each condition, participants were presented with 4 training trials, followed by 5 actual measurement trials. Each trial used a different dataset. The presentation order of datasets was the same for all participants.

On average, the experiment lasted 70 minutes. It was divided into two sessions to avoid fatigue due to the high cognitive load involved in performing the tasks. Two techniques were tested in the first session (50 minutes). The remaining one was tested in the second session (20 minutes), which had to take place at least one hour after the first one. Participants were allowed to rest between each trial.

Participants were instructed to favor accuracy over speed, for example, to avoid making mistakes. Due to the complexity of the tasks, each trial was limited to 90 seconds. After 60 seconds, the screen flashed briefly, and a countdown for the remaining 30 seconds was shown. Once an answer had been selected, both the right answer and the participant's answer were shown.

We asked eighteen volunteers (four female), ranging in age from 24 to 44 years old to participate in this experiment. All of them used computers daily, had normal or corrected-to-normal vision and were not color blind. The experiment was conducted using a 2.66Ghz iCore 7 MacBook Pro with 4GB of RAM and a monitor resolution of 1440 × 900. The interface was implemented in Java 6 using the ZVTM toolkit [START_REF] Pietriga | A toolkit for addressing HCI issues in visual language environments[END_REF]. Background was set to black to minimize visual fatigue. Participants interacted using a mouse and an external keyboard. During training, animation speed decreased from 2 seconds initially to the default duration of 1 second for VA and 1.2 seconds for GD.

The two main measures were error rate and task completion time. The timer started as soon as the dataset showed up on screen, and stopped when participants either clicked a node (for T Inst ) or hit the space bar (for the other two tasks). Error rates were computed differently for each task. In T Size , time slices were ranked according to the size of the target (red) group. For T Inst , groups were ranked according to their rate of change: avg(nodeGain) + avg(nodeLoss). Error was equal to the position in this ranking. For T Trend , the answer was either right or wrong as answers were nominal.

Hypotheses

Our hypotheses were as follows:

H 1 For all three tasks, error rate is lower when using staged transitions (GD), as this technique helps better keep track of changes between time steps.

H 2 For the same reason, completion time does not increase significantly when using staged transitions (GD), despite the longer duration of animations and their higher visual complexity.

H 3 Participants use features that enable them to transition between non-adjacent time steps, when available.

Results

A SHAPIRO-WILK test showed that measurements of time and error were not normally distributed. The measurements distribution could not be corrected using either a logarithmic or BOX-COX transformation. We thus performed a non-parametric MANN-WHITNEY-WILCOXON (Mann-Whitney U) test for pair-wise comparison between techniques, for each task. During the experiment, we realized that one particular dataset used for T Size contained changes that were too hard to detect for participants. The difference between the largest two sizes was only 2 nodes, for an average group size of 18 nodes. We subsequently removed the corresponding trials from our analysis, as this noisy set would not have yielded meaningful results.

All analyses are performed by Task, as error rates are measured differently across tasks. T Size (Figure 4.9-a): GD features a significantly (p<0.04) lower error rate (avg. 4%) than FB (avg. 18%). VA performed similar to FB (avg. 15%) with a near-significant difference compared to GD (p<0.069). There was no significant difference between FB and VA. T Inst (Figure 4.9-b): GD features a significantly (p<0.011) lower error rate (avg. 21%) than FB (avg. 52%), with VA in-between (avg. 27%) and a near-significant difference (p<0.072) compared to FB. There was no significant difference between VA and GD. T Trend (Figure 4.9-c): we did not observe any effect of Tech on Error. All three techniques feature relatively similar error rates.

T Size (Figure 4.10-a): FB (avg. 16.2s) is significantly faster than both VA and GD (avg. 24.5s, p<0.0001 and 21.9s, p<0.0001, respectively). GD was not significantly faster than VA. T Inst (Figure 4.10-b): FB features a significantly (p<0.005) lower time (avg. 21.6) than GD (avg. 28.4s), with VA in-between (avg. 23.9s) and not significantly different from the other two. T Trend (Figure 4.10-c): FB features a significantly lower time (avg. 16.1s) than GD (avg. 26s, p<0.001) and VA (avg. 19.7s, p<0.007).GD is significantly slower (p<0.004) than VA.

Follow-up Experiment

T Trend did not yield significant results in terms of error rate, which is our main measure of performance. Despite intense piloting, such higher-level and complex tasks are difficult to control. We decided to redesign this task and run a follow-up study. We switched from four possible answers to two, and created the target group artificially, inserting ground truth in real-world data so as to better control this group's behavior. The new task was as follows:

T Change -(WHAT) How does the red clique behave? Is there a high turnover, for example, are there many nodes coming and leaving, over time? Or is there a larger constant core of members over all years? The core was made of nodes that remained in the group from the beginning to the end. If the number of nodes in the core was larger than half the size of the group, the group was stable; otherwise it was unstable. Participants had to press the space bar and select the correct answer from a pop-up menu.

We extracted datasets from the co-authorship network we had used in the first experiment. For each dataset, 6 groups of nodes were randomly selected, and one group was artificially created according to predefined figures to guarantee its stability or instability (depending on the trial). This target group had between 13 and 17 nodes, including a constant core of nodes. Core nodes never left the group. Other nodes remained in the group for one to three years. In the unstable group condition, the target group's core size was lower than 50% of the overall group size. In the stable group condition, the core's size was above 50%. The difference in size between stable and unstable was either 30%, 15% or 7.5%, corresponding to three levels of difficulty. Although the last value seems fairly small, we did make sure that there was no ambiguity when performing the task visually. It is also important to bear in mind that the task was about observing changes of nodes, rather than changes in group size.

We asked the same 18 volunteers to participate in this experiment. Time between the first experiment and this follow-up study never exceeded two weeks. The only task tested was T Change . We compared the same three techniques. We added a new feature to the environment that enabled participants to toggle visibility of all node labels at once. While this can potentially introduce noise in the data, participants needed a way to compare nodes across graphs. We kept track of the status of node labels (shown or hidden) in the experiment's logs.

Results for this task show that Tech has a significant effect on Error. FB features a significantly (p<0.004) higher error rate (avg. 25%) than VA and GD (avg. 13% and 11%, respectively), which are not significantly different from one another (Figure 4.9-d).

Tech also has a significant effect on Time. As shown in Figure 4.10-d, FB features a significantly (p<0.001) higher task completion time (avg. 18.1s) than VA and GD (avg. 11.6s and 10.6s, respectively), which are not significantly different from one another.

User Strategies

Participants were asked to report their strategies and subjective preferences in a posthoc questionnaire. Further information was retrieved by analyzing low-level interaction logs: keyboard and mouse events, as well as somewhat higher-level information such as the order in which participants visited the five time steps for each trial, when were node labels displayed, how much was the time slider used. Examining these logs, we identified various common and alternative strategies for exploring dynamic networks. The main observation is that temporal navigation in the data follows Shneiderman's mantra [START_REF] Shneiderman | The eyes have it: A task by data type taxonomy for information visualizations[END_REF]: users first wanted to have an overview of the data through time, and only then did they focus on particular time steps in more detail. While this observation holds for all tasks and techniques, other observations were made for specific tasks, as detailed below. We also observed that 27% of the participants never used the mouse. This means that they never used the slider, and never compared non-adjacent time steps (indeed, the mouse was necessary for both).

T Size -Find Time Step While participants were able to quickly go from time step to time step with FB and GD, things were less straightforward with VA. They either watched the animation step by step, or dragged the time slider. Participants made extensive use of the non-adjacent time step comparison feature with GD, while they barely used it in conjunction with FB. While this feature was not available in VA, it is noteworthy that participants did not employ any feature for comparison between time steps with VA: in most cases, they simply navigated over time using video controls, not going back and forth.

T Inst -Find Network Entity This task was about spotting nodes entering and leaving groups over time. In addition to the amount of color that was shown with groups, the middle step of staged transitions (GD) made it easy to identify how many (and which) nodes did not change. If a group was much smaller during this stage than at the beginning or end, it was probably unstable. However, changes had to be observed throughout the network. Participants employed very different strategies; FB allowed for quick navigation which led them to quickly visit all time steps in linear order and observe changes in the layout that might result from unstable groups. With VA, participants iterated less frequently over all time steps, except those participants who used the slider, the latter making navigation faster. 50% of all participants who used the mouse compared nonadjacent time steps in the FB and GD condition.

T Trend -Characterize change This task was the most difficult for participants as observed from our post-hoc questionnaire, and we did not observe any statistical difference between conditions. However, we could observe that participants applied a strategy similar to that employed in T Inst ; they observed all time steps first and heavily switched between steps in the GD condition. Where it was possible to directly compare the first and last time steps (FB and GD) , participants could estimate the right answer when the group was growing or shrinking. However, due to the experimental conditions-clear differences in the data between growing, shrinking, unstable or stable-this strategy worked in the experiment.

T Change -Characterize change: This task was the only one where enabling and disabling all node labels at once was allowed. Since this task was about tracking nodes joining and leaving a group, we expected the task to be very hard in the FB condition. However, despite the difficulty of the task, results indicate that very few participants (four) actually used labels in FB and in VA. Among them, all but one also displayed labels in the GD condition. This seems to indicate that having to read and memorize node labels was considered as inconvenient and unnecessary. As expected, many participants (80%) switched between non-adjacent time steps, when possible.

Discussion and Limitations

The goal of this study was to investigate the potential benefits of staged transitions and other features such as the possibility to smoothly navigate between non-adjacent time steps and to control the type and speed of transitions. We wanted to assess their impact on user comprehension of the higher-level changes that occur in dynamic networks.

Our results show that animations significantly decrease error rate, and suggest that staged transitions offer further improvements for some tasks, thus partially supporting H 1 . Animations increase task completion time for tasks T Size , T Inst , T Trend , but decrease it for T Change , since participants spent more time memorizing node labels and comparing graph states. Comparing the first three tasks, the difference is significant in terms of statistical analysis, but its magnitude is relatively small. Thus, H 2 is supported. A lower error rate should be favored over a small decrease in task completion time in real work situations, and we interpret those results as generally favorable for GD. Quantitative results are in accordance with user preferences collected through the post-hoc questionnaire: GD was ranked as the best technique by 80% of the participants, and FB was ranked last by 72% of them. Our results are in accordance with Archambault et al. (2011a) who found that for tasks related to node and edge appearance, animations decrease the number of errors when compared to small multiples, but increase task completion time. Further studies [START_REF] Zaman | The effect of animation, dual view, difference layers, and relative re-layout in hierarchical diagram differencing[END_REF][START_REF] Heer | Animated transitions in statistical data graphics[END_REF] suggest that users prefer accurate techniques that they can trust to faster, but less reliable, ones.

Error: Results suggest that animations played a major role in participants' performance: the two techniques that relied on it, VA and GD, yielded consistently and significantly lower error rates than FB (Figure 4.9). Animations seemed to play a crucial role when tracking incoming and outgoing nodes. When animations were not available, labels sometimes helped to solve the task, but significantly increased cognitive load and fatigue according to several participants. When animations were available, the simple fading of nodes and edges provided by VA helped, but the animation was often not sufficient to help participants track more than a few changes in the limited screen area. Changes scattered throughout the screen were hard to track, as suggested by the results of T Inst , in which the entire network had to be observed. GD provided an advantage in that respect, as it used color to convey changes in a pre-attentive manner and enabled participants to spot and identify the kind of changes in a much larger area. Subjective feedback indicates that participants found highlighting overall useful (44%) or useful (36%). 66% of them indicated that it made them more confident about their answers.

The significantly lower error rate of GD for T Size suggests that highlighting of changes (halos) played an important role when comparing two time steps. In addition, solving this task required comparing local maxima between non-adjacent time steps; this was made relatively straightforward by both FB and GD, but highlighting was only enabled in GD.

Time: Task completion time was slightly lower with GD than with VA for T Size , and slightly higher for all other tasks (Figure 4.10). We tentatively attribute this difference to the fact that FB and GD enabled direct comparison of arbitrary time steps. FB was always the fastest technique, except for task T Change . This is probably due to the fact that participants had to read and memorize labels with FB, for lack of a more efficient and less cognitively-demanding alternative. It is interesting to note that the average time spent solving a task with FB was far below the maximum time per trial (90 seconds). Participants seldom reached that limit, even if they were not particularly confident about their answer; they considered that spending more time on the task with FB was not worth it, as it was not going to provide more insight. Overall, FB featured lower task completion times mainly because participants gave up, not because they were confident about their answer, as confirmed by the higher error rates with this technique and our observation of participants' behavior during the experiment. This suggests that providing users with animated transitions while enabling them to skip these transitions is a good solution.

Strategies: Only five participants (27%) never used the mouse for interacting with the system; all others adopted non-linear time-navigation patterns in the FB and GD conditions. The reason could be that the interface did not required to pan and zoom in the network view, as well as the fairly limited amount of time-steps in the experiment so that no panning on the timeline was necessary either. Such capabilities would likely have involved the mouse as an interaction device. The most typical temporal navigation pattern was to get an overview by quickly looking at all time steps, then focus on a particular subset of-not necessarily contiguous-steps, switching back and forth to compare them. This supports H 3 and suggests that features enabling direct difference visualization between arbitrary time steps is useful, as those spare users from having to rely on their memory to compare distant time steps, thus lowering the associated cognitive load.

The slider enabled users to scrub and to explore elements that last for a single time step only (see Figure 4.5). As one participant reported with respect to VA, vanishing and occurring nodes faded out at the same moment and their translucency is not sufficient to differentiate both cases. Another method was to move the slider very fast through across all time slices in both conditions VA and GD. Yet, highlighted nodes could better be estimated.

Tasks:

The experimental tasks were chosen to represent the dimensions in our taxonomy on a higher level. However, we had to make some compromises to make those tasks amenable to a controlled experiment. Designing a study and operationalizing higher-level and cognitively-demanding tasks is very challenging, as acknowledged by Archambault et al. (2011a). We had to pilot and iterate on the design, datasets and tasks multiple times. This necessarily entails some limitations. Visually, our tasks mainly focused on the appearance and disappearance of nodes as opposed to links. As mentioned earlier, some topological tasks involving group membership turn into visual tasks of looking for geometrical proximity: nodes close to one another are more likely to be connected, especially when using a locally-optimized layout (see Figure 4.8). Tracking groups essentially comes down to tracking node movements and node appearance/disappearance. While staging separates both types of change for better perception, change highlighting results in a higher or lower concentration of red or blue halos in different regions of the representation. Further studies, however, should also include links, for instance asking questions about density and connected components; questions which require some domain expertise to answer, putting some constraints on the participant population.

Data: A limitation is the number of time steps associated with each dataset. Real-world data usually contains much more than five steps. Future studies should investigate the effect of this specific factor, but it already seems reasonable to claim that some features discussed earlier, such as the capability to directly compare and smoothly transition between non-adjacent time steps and quickly browse all time steps, should bring even stronger benefits in situations where the number of time steps is larger. Currently, we considered networks made of approximately 100 nodes but very large networks and the more complex tasks associated with them require aggregation and analytical capabilities that are both complementary to the work presented here and beyond the scope of the generic navigation tasks considered. Furthermore, larger data sets are likely to be more complex, which makes them hard to use in a controlled user study, and are more suited to qualitative evaluations.

Complementary Techniques:

We did not fully isolate all factors. Our goal was to compare the transition and navigation techniques as complementary elements, not to isolate the effects and contributions of each single low-level interaction technique. We thus cannot say much about the respective contribution of, for example, small multiples and animation to performance improvements. Our results in terms of comparison between plain and staged animations are in accordance with those of Heer and Robertson's study about transitions in data graphics [START_REF] Heer | Animated transitions in statistical data graphics[END_REF]. Archambault et al.'s study [START_REF] Archambault | Mental map preservation helps user orientation in dynamic graphs[END_REF] suggests that layout stabilization depends very much on the task, and that small multiples and animations are rather complementary for different tasks. Results from these studies and ours help gain a broader perspective, but further studies are required to gain a more comprehensive understanding of the various factors that come into play.

Finally, we did not test for the effect of the graph layout and different layout stabilizations. However, more extensive studies require more conditions and the usefulness of quantifying the individual effect for every single technique is questionable, since often the benefit of a single technique can hardly be defined, independently from others.

Conclusion

Showing multiple time steps of the network, one after the other, has clear advantages and disadvantages, as multiple studies have shown. However, the efficiency of animations for representative tasks from our task taxonomy (Chapter 3) can be improved by a) showing different changes at different moments (stages), b) highlight certain low-level changes, and c) complement the transitions with interaction. While evaluating GraphDiaries against techniques commonly found in visualization systems for temporal graph navigation, we observed a minor increase in task completion time, that is compensated by a significant decrease in error rate in favor of animated transitions. The latter improve the perception of changes and provide users with a rich set of exploration strategies. Animated transitions should be part of any more general system, such as GraphDiaries tries to sketch, and be complemented with additional visualizations and navigation widgets. For the design and evaluation of new techniques, as well as their complementing, we have proposed a task taxonomy in Chapter 3. The goal of any novel technique, extension or integration should directly support higher-level tasks, such as exploring time, tracking elements and perceive complex changes happening to groups of nodes and their internal connectivity.

Future work in animations and integrating techniques should explore the issue of how to convey the temporal evolution of node and edge attributes (e.g. edge weight): we want to extend the scope of GraphDiaries towards the exploration of dynamic multivariate and hierarchical graphs, whose complexity will require new aggregation, navigation, comparison and tracking techniques. Still, GraphDiaries is meant to describe simple but useful techniques and to explore how different techniques support visual exploration and analysis. Techniques including temporal aggregation and enhancing the display and summarization in small multiples remain longer term research goals.

A more general problem is network density and the amount of change happening over time. GraphDiaries as well as most current visualizations and tools (Gephi, TempoVis, etc.) rely on node-link representations, which become less readable with the number of links crossing [START_REF] Ghoniem | On the Readability of Graphs Using Node-Link and Matrix-Based Representations: Controlled Experiment and Statistical Analysis[END_REF]. As for animations, they become hard to follow as the number of changing elements increases, especially since he has to keep track of G RAPHDIARIES provides a platform to integrate different visualization techniques and to allow for flexible navigation between times steps of dynamic networks. The results of our experiment showed that we can effectively use the techniques integrated in GraphDiaries for the exploration of, for example, social networks. However, many networks are not as simple and easy to visualize, such as networks representing brain connectivity. Brain connectivity networks can reflect actual physical connections between regions of interest (ROI) (anatomical connectivity), aggregated functional correlation (functional connectivity) and actual signals (effective connectivity). These networks are usually (i) very dense or even fully connected, (ii) can dramatically change in a short amount of time, and (iii) edges are weighted and with weights changing over time.

Comparison of Dense Weighted Networks

Neuroscientists investigate brain connectivity to answer questions such as how brain connectivity changes throughout development, with aging, or with physical injury; what kind of connectivity patterns are required for a particular functionality; and how these connectivity patterns show variances across individuals and across certain anomaly conditions. A list of precise tasks is provided by my coauthors [START_REF] Alper | Weighted graph comparison techniques xfor brain connectivity analysis[END_REF] in the first section of this chapter. It shows that many of these tasks can be described as comparing two weighted graphs-either representing two different brains, or two different types of connectivity in the same brain, or the same brain at different time steps, relating to different conditions.

The questions addressed in this chapter are the following:

Which designs allow for effective comparison of two weighted graphs? Which techniques are most efficient? In this chapter we develop several visual designs to allow for visual comparison of two dense weighted networks, using node-link diagrams and adjacency matrices. We start with an introduction to brain connectivity and list tasks that are performed by neuroscientists when investigating brain connectivity. We then discuss the strengths and weaknesses of existing visual designs for visualizing brain connectivity, weighted graphs, as well as visually comparing two graphs. After explaining our designs for node-link diagrams and matrices, we report on the results of a controlled user study that assesses the efficiency of our two most promising designs.

Brain Connectivity

Brain analysts investigate connectivity between regions of interest (ROI) in the brain in order to understand the brain's functionality and responsibility of particular regions. An ROI can be anything between a single neuron, neuron populations or anatomically-defined brain regions. These ROIs are related by different types of connectivity, each of which has particular characteristics, explained in the following and illustrated in Figure 5.1.

Anatomical connectivity refers to actual axonal fibers between neurons or fiber bundles between regions. Current diffusion weighted techniques detect fiber bundles on a coarse level. However, invasive tracing techniques can detect actual axonal connections. Changes in the anatomical connectivity are observed within hours or even days, reflecting learning, rebuilding mechanisms after an injury [START_REF] Cao | Alteration of Cortical Functional Connectivity as a Result of Traumatic Brain Injury Revealed by Graph Theory, ICA, and sLORETA Analyses of EEG Signals[END_REF] and even aging [START_REF] Dosenbach | Prediction of Individual Brain Maturity Using fMRI[END_REF].

The second type of connectivity is functional connectivity, which reflects statistical correlation and covariance in the activity of these regions; two regions that are always active at the same time show strong correlation, two regions that exhibit equal changes over time show strong covariance. Functional connectivity can be meaningful correlated in time intervals above 10 milliseconds and depends on the user's activity during this time.

The third kind of connectivity is called effective connectivity and reflects the actual exchange of signals between neurons and ROIs while a subject receives stimuli or performs cognitive tasks, such as observing a picture or reading a text. Signals are exchanged at a very high frequency and can be recorded during the entire time of an experiment. Signals are not exchanged symmetrically, thus the network is essentially a directed graph.

Functional connectivity and effective connectivity result in almost fully connected and weighted networks, where weight indicates correlation, covariance or strength of signal. Duration of time steps can be very low, e.g. 2 seconds, while experimental observations can take up to 5 minutes (see Section 6.6.3 in Chapter 6). Figure 5.1 shows all three types of connectivity in a schematic representation (top) and what the corresponding matrix looks like (bottom).

High-Level Brain Connectivity Analysis Tasks

Through a literature survey and a series of one-hour-long interviews with seven neuroscientists, we identified a list of major tasks in brain connectivity analysis where visualizations are already in use or can be used to aid and enhance the analysis:

1. Identify network structures that are responsible for a specific cognitive function:

Neuroscientists examine how our brain carries out specific cognitive functions, identify the regions responsible or involved, and study their interaction with each other while executing these functions [START_REF] Vidal | Long-Distance Amplitude Correlations in the High Gamma Band Reveal Segregation and Integration within the Reading Network[END_REF]. However, significant individual variations exist. These variations require the comparison of connectivity data of large subject groups to be able to identify common network structures.

2. Identify effects of anatomical structure on functional connectivity: Understanding the effect of anatomical structure on the formation of functional relations is a key challenge in neuroscience [START_REF] Honey | Network Structure of Cerebral Cortex Shapes Functional Connectivity on Multiple Time Scales[END_REF][START_REF] Bullmore | Complex Brain Networks: Graph Theoretical Analysis of Structural and Functional Systems[END_REF]. For this purpose, scientists look for correlated patterns across anatomical and functional connectivity, requiring the simultaneous exploration of data for both types of connectivity to reveal complex mappings between ROIs.

3. Identify alterations in brain connectivity: Brain connectivity of an individual changes over time-through development and with aging [START_REF] Dosenbach | Prediction of Individual Brain Maturity Using fMRI[END_REF].

Another instance of alteration in brain connectivity is the development of reroutings that restore functionality typically after a local injury [START_REF] Cao | Alteration of Cortical Functional Connectivity as a Result of Traumatic Brain Injury Revealed by Graph Theory, ICA, and sLORETA Analyses of EEG Signals[END_REF]. In addition, changes in white matter fiber connectivity following behavioral training of a complex skill have also been reported [START_REF] Scholz | Training Induces Changes in White-Matter Architecture[END_REF]. In order to understand the temporal evolution of these changes, scientists need to compare connectivity data gathered at different instances in time.

4. Identify the existence or the loss of patterns in brain connectivity that are associated with anomalous conditions: Neuroscientists have already shown that certain cognitive anomalies are associated with the loss of specific connectivity patterns [START_REF] Bassett | Hierarchical Organization of Human Cortical Networks in Health and Schizophrenia[END_REF][START_REF] Sanz-Arigita | Loss of 'Small-World' Networks in Alzheimer's Disease: Graph Analysis of fMRI Resting-State Functional Connectivity[END_REF]. For instance in Alzheimer's disease, it is observed that functional connectivity does not exhibit small-world properties as much as a healthy brain [START_REF] Sanz-Arigita | Loss of 'Small-World' Networks in Alzheimer's Disease: Graph Analysis of fMRI Resting-State Functional Connectivity[END_REF]. Identifying such differences in connectivity patterns is essential for the diagnosis and treatment of these anomalies, which can be done by comparing the connectivity of the anomalous brains to healthy ones.

5.

Identify deviation of an individual's connectivity from a population mean: The aforementioned tasks often utilize an 'average' brain-the term 'average' encompassing connectivities that are common to all individuals. The average brain, in turn, can be used to characterize an individual's brain by studying the deviation of it from the average brain.

6. Effective brain parcellation and multimodal connectivity analysis: Identifying brain structures that act as a unit is an important problem. Automatic parcellation algorithms, based on statistical likelihood of synchronized activation, are employed to identify these units. A variety of statistical techniques along with multiple data sources exist, each yielding different parcellations. For example, an automatic parcellation based only on functional connectivity data can be refined by taking into account fiber connectivity [START_REF] Li | Visual Analytics of Brain Networks[END_REF], or anatomy-based parcellation can be validated by functional connectivity relationships between the regions [START_REF] Beckmann | Connectivity-Based Parcellation of Human Cingulate Cortex and Its Relation to Functional Specialization[END_REF]. Thus, different parcellation outcomes are needed to be compared to verify the robustness of a technique (Worsley, Chen, Lerch, & Evans, 2005).

Identify effects of local injury:

In clinical applications it is important to predict the effect of a local injury. Local damage to an anatomical structure can have multiple implications on functional connectivity due to the loss of indirect as well as direct connections. Similarly, in image-guided neurosurgery [START_REF] Archip | Non-Rigid Alignment of Pre-Operative MRI, fMRI, and DT-MRI with Intra-Operative MRI for Enhanced Visualization and Navigation in Image-Guided Neurosurgery[END_REF], identifying optimal surgical paths that minimize damage induced by intervention is also important. In order to be able to make these decisions, neurologists look at brain connectivity data in a spatial context and observe which anatomical and functional connections are associated with which specific brain locations.

This summary shows that a large number of neuroscientific problems can be facilitated with weighted graph comparison tools. Apart from the last task, for which connectivity data has to be presented in its spatial context (inside the brain volume), all other tasks can be conducted with non-spatial representations such as 2D node-link diagrams and adjacency matrices. Although it is essential for brain connectivity analysis to communicate spatial context of the data to ease the interpretation, non-spatial representations can prove more effective for communicating changes in complex connectivity data, as they relax a set of strong constraints on the visual representation (such as preserving the exact shape of connections in three dimensions). Hence, tools supporting brain connectivity analysis have to offer multiple visual representations-each of which is optimal for a specific set of tasks. In this chapter we focus on connectivity comparison tasks which, at an abstract level, can be expressed as comparison of two weighted graphs.

Use of Visualizations in Brain Connectivity Analysis

Defined as a correlation matrix between specific locations within the brain volume (ROIs), functional connectivity data is often visualized as 3D node-link diagrams reflecting the ROIs' spatial positions in the brain: ROIs are shown as nodes and weighted edges denote the pairwise strength of these node relationships (e.g., Figure 5.2(a)). Although the edges below a certain strength threshold can be hidden, the resulting images are still cluttered and suffer from the known side effects of 3D rendering such as occlusion [START_REF] Gerhard | The Connectome Viewer Toolkit: An Open Source Framework to Manage, Analyze, and Visualize Connectomes[END_REF][START_REF] Dosenbach | Prediction of Individual Brain Maturity Using fMRI[END_REF]. To facilitate comparison, two connectivity datasets can be overlaid within the 3D brain [START_REF] Worsley | Comparing Functional Connectivity via Thresholding Correlations and Singular Value Decomposition[END_REF], with edge colors denoting correlation and anti-correlation between the end points. However, the clutter and complexity of the visual encoding in these spatial/volumetric representations makes it difficult to perform accurate weighted edge comparison tasks.

An alternative approach is to show the connectivity data as a 2D node-link diagram whose layout is calculated by multi-dimensional scaling or force-directed algorithms [START_REF] Achard | A Resilient, Low-Frequency, Small-World Human Brain Functional Network with Highly Connected Association Cortical Hubs[END_REF]) (e.g., Figure 5.2(c)). These layouts remedy some of the clutter problems by eliminating overlaps and reducing the number of long edges. They are thus adopted especially among those scientists who practice graph-theoretical analysis of brain connectivity.

The spatial context of the data, however, is still crucial for an effective interpretation of the data by neuroscientists who are trained to reason with respect to spatial brain regions. Hence, node-link diagrams are often accompanied with a separate spatial rendering of the node positions, with nodes on the two representations being matched by region color and label [START_REF] Nelson | A Parcellation Scheme for Human Left Lateral Parietal Cortex[END_REF]. To preserve the spatial character of the data to some extent, many 2D connectivity node-link diagrams adopt a biological layout where node positions are projections on 2D planes defined by two of the standard anatomical axes (e.g., ventrodorsal, anteroposterior, left-right; e.g., Figure 5.2(b)) [START_REF] Achard | A Resilient, Low-Frequency, Small-World Human Brain Functional Network with Highly Connected Association Cortical Hubs[END_REF]. These layouts communicate spatial properties of the data coarsely, helping scientists orient themselves in the graph, while enabling the use of color for encoding other information such as change across two states [START_REF] Richiardi | Decoding Brain States from fMRI Connectivity Graphs[END_REF][START_REF] Bassett | Hierarchical Organization of Human Cortical Networks in Health and Schizophrenia[END_REF].

Matrices of functional connectivity as an alternative representation are also popular [START_REF] Achard | A Resilient, Low-Frequency, Small-World Human Brain Functional Network with Highly Connected Association Cortical Hubs[END_REF][START_REF] Gerhard | The Connectome Viewer Toolkit: An Open Source Framework to Manage, Analyze, and Visualize Connectomes[END_REF][START_REF] Sanz-Arigita | Loss of 'Small-World' Networks in Alzheimer's Disease: Graph Analysis of fMRI Resting-State Functional Connectivity[END_REF] and are occasionally used in the form of small multiples to illustrate trends across different connectivity datasets [START_REF] Bassett | Conserved and Variable Architecture of Human White Matter Connectivity[END_REF][START_REF] Kramer | Emergence of Persistent Networks in Long-Term Intracranial EEG Recordings[END_REF][START_REF] Ginestet | Statistical Parametric Network Analysis of Functional Connectivity Dynamics during a Working Memory Task[END_REF]. To support direct comparisons, correlation coefficients from multiple scan states can be shown within nested quadrants of a matrix cell [START_REF] Thomason | Resting-State fMRI Can Reliably Map Neural Networks in Children[END_REF], conceptually similar to the designs by [START_REF] Stein | Pixel-oriented visualization of change in social networks[END_REF] (cf. Section 2.6). However, this design makes it hard to focus on a single scan state.

Representing physical entities, fibertracts that constitute anatomical connectivity are more frequently visualized within the 3D brain volume [START_REF] Gerhard | The Connectome Viewer Toolkit: An Open Source Framework to Manage, Analyze, and Visualize Connectomes[END_REF]) (e.g., Figure 5.2(d)). Research in fiber connectivity visualization focuses on their similarity clustering, bundling, and selection in 3D space [START_REF] Moberts | Evaluation of Fiber Clustering Methods for Diffusion Tensor Imaging[END_REF][START_REF] Sherbondy | Exploring Connectivity of the Brain's White Matter with Dynamic Queries[END_REF] as well as on illustrative depiction [START_REF] Everts | Depth-Dependent Halos: Illustrative Rendering of Dense Line Data[END_REF]. While non-spatial representations for fiber similarity and clustering are also used [START_REF] Jianu | Exploring 3D DTI Fiber Tracts with Linked 2D Representations[END_REF], neuroscientists reported difficulties with interpreting these representations. Related to our work, anatomical connectivity can be reduced to a fiber density graph among ROIs and visualized as a 3D spatial node-link diagram combined with a matrix representation [START_REF] Hagmann | Mapping the Structural Core of Human Cerebral Cortex[END_REF]) (e.g., Figure 5.2(e)-(f)).

So far, the coordinated visualizations of structural and functional connectivity has received little attention, and existing visualizations focus on spatial representations rather than supporting abstract graph comparison tasks. Several tools, for example, Connec-tomeViewer [START_REF] Gerhard | The Connectome Viewer Toolkit: An Open Source Framework to Manage, Analyze, and Visualize Connectomes[END_REF][START_REF] Li | Visual Analytics of Brain Networks[END_REF] support visual brain connectivity analysis using spatial 3D node-link and matrix representations for functional connectivity and volumetric fibertract representations for anatomical connectivity. Although it is crucial to communicate the spatial context in brain connectivity analysis for several tasks, 2D non-spatial representations with flexible layouts are more suitable to communicate differences/changes in the connectivity data in an explicit way. To the best of our knowledge, none of the existing brain connectivity tools supports such a visual connectivity comparison.

Designing for Graph Comparison

Design Options

Comparing two graphs first and foremost requires communicating absence or presence of connections. For several domains, comparison techniques for unweighted graphs have been proposed, such as to characterize metabolic pathways [START_REF] Brandes | Visual Understanding of Metabolic Pathways Across Organisms Using Layout in Two and a Half Dimensions[END_REF][START_REF] Schreiber | Comparison of Metabolic Pathways using Constraint Graph Drawing[END_REF], business process models [START_REF] Andrews | Visual Graph Comparison[END_REF] and software evolution [START_REF] Collberg | A system for graph-based visualization of the evolution of software[END_REF]. [START_REF] Gleicher | Visual Comparison for Information Visualization[END_REF] categorise comparison techniques into three groups and illustrate them with node-link diagrams (Figure 5.3): (a) juxtaposed views where two graphs are presented side-by-side and often complemented with interactive techniques that highlight the matches between the two [START_REF] Andrews | Visual Graph Comparison[END_REF], (b) superimposed or overlaid views with representations slightly offset, and (c) a single layout for both graphs with differing edges and nodes coded by color [START_REF] Andrews | Visual Graph Comparison[END_REF][START_REF] Hascoët | Interactive graph matching and visual comparison of graphs and clustered graphs[END_REF][START_REF] Erten | GraphAEL: Graph animations with evolving layouts[END_REF]. According to [START_REF] Gleicher | Visual Comparison for Information Visualization[END_REF], several of these techniques can be used in conjunction in order to overcome individual weaknesses. To the best of our knowledge, adjacency matrices have not yet been used to compare two weighted or un-weighted graphs.

Only a single study, conducted by [START_REF] Zaman | The effect of animation, dual view, difference layers, and relative re-layout in hierarchical diagram differencing[END_REF], compared juxtaposed views, direct differencing, animated transitions, and toggling (switch between graphs without animation). The results show that juxtaposition performed worst, while animation was best. Informal feedback that we gathered from our initial implementation, indicates that side-by-side views were indeed much slower and error-prone compared to the overlaid views-due to the fact that the distance to be covered even for simple comparison tasks is much higher in the side-by-side view compared to the overlaid views (especially for element lookup). The difference increases tremendously as the graphs get larger.

Explicit encodings may be the simplest to read since they encode actual increase or decrease in weight where they happen. However, the problem with changing edge weights is that we need information about both: absolute edge weight for the two graphs, and relative difference. A single visual variable in an explicit encoding could only either encode absolute or relative change, but hardly both.

Edge weight is usually mapped to the length of an edge with inverse proportions [START_REF] Collberg | A system for graph-based visualization of the evolution of software[END_REF], or mapped to line stroke width, or is encoded using color and translucency. In matrix visualizations, the weight of a connection is mapped either to the color of the corresponding cell or to the size of a glyph inside the cell (van Ham et al., 2009).

We finally opted for conceptual overlaid views, since both absolute values for edge weight can be shown and users can infer the difference based on visual contrast.

Designs for Node-Link Diagrams

The design space for graph comparison, based on node-link diagrams, is limited to visual variables of the link lines: (i) color (intensity or hue), (ii) translucency, (iii) line width, and (iv) stroke patterns. Other variables such as curvature [START_REF] Henry Riche | Exploring the design space of interactive link curvature in network diagrams[END_REF] are less useful because the continuous variable of edge weight would be hard to read.

For our designs, we want to keep the visual variables used for this purpose at a minimum. However, the problem is to distinguish between both graphs in the overlaid view. Edge thickness to encode weight increases the space requirements and makes heavy edges very salient, biasing perception. Moreover, when node-link diagrams represent dense graphs, it is important to keep edge thickness at a minimum.

We examined two other options for overlaid edge weight encoding. First, we considered two constant-width parallel edges with two different colors (blue and red)-each encoding the edge weight from one graph (Figure 5.4(a)). Our second option was dashed lines for edges, while color for each graph alternated (Figure 5.4(b)). Initially, we varied dash-length according to edge weight in the corresponding graph, but eventually encoded edge weight by lightness, as in Figure 5.4(a).

We tried both alternatives with our datasets and found continuous parallel lines to be more legible, especially for dense graphs. Dashed lines caused much change of color through the entire visualization, making the overview seem cluttered and edges of one graph difficult to isolate.

Designs for Matrices

Matrices provide space for much more complex glyphs inside cells and potentially encode information more efficiently. Different cell designs for edge weight comparison across multiple time steps in dynamic networks have been proposed. [START_REF] Yi | TimeMatrix: Visualizing Temporal Social Networks Using Interactive Matrix-Based Visualizations[END_REF] Similar to [START_REF] Yi | TimeMatrix: Visualizing Temporal Social Networks Using Interactive Matrix-Based Visualizations[END_REF], we examined color-coded bar charts shown within the cell to show the absolute weight from each graph (Figure 5.6(a)). However, this design produced vertical patterns and complicates comparison of time steps. We investigated alternative ways of dividing matrix cells into two regions and using a separate color scheme for each region to encode weight from the corresponding graph. Horizontal divisions produce the same problem and we tried diagonal divisions (Figure 5.6(b)) as used in (Bach et al., 2013). However, we found that even with only two graphs, all divisions produced patterns interfering with the cell boundaries of the matrix, making it hard to distinguish individual cells.

Next, we tried to encode weight using scaled glyphs such as concentric circles (Figure 5.6(c)). Here the radius of the inner circle indicates the smaller value of both weights, while the outer circle indicates the larger value. A blue outer circle signifies increase in weight-from the first to the second graph-a red circle signifies decrease. We did not pursue this approach further because of the difficulty of identifying a single connectivity state. Besides, when the difference is minimal, the borders produced between inner and outer circles became illegible within the limited cell space.

Finally, we adopted an inner and outer squares division (Figure 5.6(d)), where the edge weight from each graph is mapped to the color density of the corresponding region. We considered this approach efficient because it did not obscure the matrix' grid structure. It also allowed us to reduce the number of visual variables, by using brightness alone to encode weight; graphs are simply differentiated by inner and outer rectangle. Color hue is free to potentially encode other data attributes. More important, brightness can be difficult to compare across color hues. As a natural outcome of this encoding, the amount of change is mapped to the contrast between inner and outer regions of a cell, easily enabling viewers to differentiate regions with high and low change in edge weight change. Figure 5.7(a) summarizes the two final designs for node-link diagrams and matrices. Figure 5.7(b) appeared in the hand-out sheet accompanying our user study (see next section), and explaining both encodings to participants.

Controlled User Study

We decided to run a controlled user study to asses the efficiency (accuracy, task completion time) of our two final designs for node-link diagrams and matrices when comparing two graphs (G 1 , G 2 ) with different edge weights. Our goal was to assess how both techniques scale with changing graph sizes and edge densities across different comparison tasks, to inform designs that would utilize both representations. Representative tasks for the study were derived from common tasks in analyzing differences in brain connectivity, as previously described.

Techniques

We used our visual encodings for overlaying two graphs in node-link and matrix visualizations. In all techniques, the entire information is shown in one full-screen window without a need to zoom or pan. This design eliminates any confounds due to navigation issues rather than reading of the visual representation to complete the task.

1. Node-Link Diagram-Overlaid (NL): A single node-link diagram shows edge weights in both graphs using two parallel edges. Connections that are present in G 1 are encoded in green colored edges, while connections that are present in G 2 are encoded with the red colored edges (Figure 5.8(a)). Thus, a single green edge represents an edge that was only present in G 1 , while a single red edge represents an edge that was only present in G 2 . The absolute edge weight is encoded using brightness as in the matrix condition, and we ensured that values for the same edge weight had the same brightness. Layout was a force-directed layout.

Matrix-Overlaid (M):

A single adjacency matrix representation shows edge weights in both graphs. Each matrix cell (12 × 12 pixels) contains an inner region encoding the weight of the edge in G 1 and an outer region encoding the weight of the edge in G 2 (Figure 5.8(b)). The absolute weight is mapped to color brightness using a perceptually linear scaling. A cell with a light inner and dark outer regions indicates an edge with a high weight in G 1 and a low weight in G 2 . Vice versa, a cell with a dark inner region and a light outer one indicates an edge with a high weight in G 2 and a low weight in G 1 . Since one of our tasks required identifying a specific region, we reordered rows and columns of the matrix to ensure that nodes were placed in the same regions in both the matrix view and the node-link diagram. The tradeoff of this reordering is, however, that it did not ensure a close placement of items that need to be compared during other tasks, as other reordering algorithms could have.

Tasks

We identified three generic comparison tasks, which can be related to the taxonomy in Chapter 3. In fact, all tasks were compound tasks and the temporal WHEN dimension referred to these graphs. These tasks require users to assess changes in edge weights at different levels of detail: from a single element to the overview of a large portion of the data. Below, we describe each task and the optimal strategy for achieving it.

Assess weight change of a node's connections (Trend): Given one highlighted node, does the overall edge weight to all of its neighbors decrease or increase from G 1 to G 2 ? Participants completed this task in three steps: (1) they needed to identify all connections to the highlighted node (WHERE), ( 2) they needed to assess the change in weight for each connection (WHAT), and (3) they needed to estimate the aggregated change for all these connections. To avoid confounds in the study, we made sure that all trials exhibited a clear increase or decrease trend. To prevent participants from selecting one option at random, we offered an additional "I don't know" option and instructed them to select it if their confidence was low. We excluded these trials from the analysis.

Assess connectivity of common neighbors (Connectivity): Given two highlighted nodes, how many of their common neighbors in G 1 are still common neighbors in G 2 ? Participants completed this task in two steps: (1) they needed to find common neighbors, meaning the nodes that are connected to both of the highlighted nodes (WHERE) and

(2), among them, they needed to count how many are present in both graphs (WHAT). Participants selected an option from 0 to 6.

Identify the region with most changes (Region): Identify the region showing the most variation between G 2 and G 1 ? For this task we provided users with simple interaction tools to view regions. In the node-link case, we create a 4 × 4 grid laid over the nodelink diagram and assigned each node to the region it fell into. As participants moved their mouse pointer on the diagram, the corresponding region boundary appeared in light blue and nodes of the region became highlighted (Figure 5.8(a)). In the matrix condition, we used the same 16 regions, ordering the nodes linearly according to the regions they belonged to. As participants moved their mouse pointer on the matrix, the region boundaries were highlighted (Figure 5.8(b)).

Participants completed this task by browsing each region successively (WHERE), estimating the region with highest edge weight variation (WHAT). To avoid confounds in the study, we ensured that all trials presented a region with discernably higher variation than the rest. Participants clicked on a region of their choice.

Data

We used synthetic data in order to control for data size, network density, and amount of change. We generated four types of uniform networks with either 40 (Small) or 80 (Large) number of nodes, and with either 5% (Sparse) or 10% (Dense) edge density. For each data type, we created four isomorphic networks per trial which were used across all tasks. We created five additional datasets for training with a Small, Sparse metric. The edge weights were assigned arbitrarily to each of the generated graphs, ranging from 0 to 1 in increments of 0.2. We created comparison graphs by copying the original weighted graphs and then randomly perturbing the weights of 70% of the edges in order to ensure edge weights that remain constant across the graphs.

Participants and Setting

11 participants (1 female) participated in the study with a mean age of 30.2 years. All participants had normal or corrected-to-normal vision, without color deficiency. Participants were graduate students or researchers, familiar with graphs, but not with matrices. The experiment was conducted in a quiet room during the day. The computer used for the study was a 2.4 GHz Dual-Core HP Z800 workstation equipped with a 30 inch screen with a 2500 × 1600 pixel resolution. The visualization area was restricted to a window of 1500 × 1350 pixels. Participants interacted with a mouse and keyboard to complete the tasks.

Experimental Procedure

We used a within-subject, full-factorial design: 2 Techniques × 3 Tasks × 2 Sizes × 2 Densities. Each condition was repeated four times. We counter-balanced the techniques (M, NL) using a Latin square. Tasks appeared always in a fixed order of increasing complexity (Trend, Connectivity, and Region). Datasets also appeared in a fixed order from simple (Small and Sparse) to more complex (Large and Dense). For each trial, we measured accuracy and task completion time.

Before the controlled experiment, we instructed participants about the visualizations as well as the weight encoding used in each, making sure none of them had any vision problems. We asked them to complete trials as accurately and quickly as possible. Before each new technique and task, five training trials were performed. Participants completed the first two following the explanations of the instructor. They answered the remaining trials on their own unless they had further questions. Trials were not timed during the training. After training trials, participants completed the 16 timed trials (2 Size × 2 Density × 4 Repeat) required for each condition (technique × task). For all conditions, we collected a total of 96 trials per participant (excluding training).

To keep the experiment within a reasonable time, we limited the time per trial to 30 seconds (measured as a feasible value in a pilot study) and notified participants before the experiment. After 20 seconds, the screen flashed and a time counter appeared below the visualization for the remaining 10 seconds. To provide their answer, participants pressed the space bar to view the dialog box with the answers. After this point, the timer stopped and the visualization disappeared. Participants were instructed to take breaks if needed when no visualization was shown on the display. None of the participants took a noticable break nor reported any fatigue.

Hypotheses

Our hypotheses for the experiment were the following:

• H1-For the Trend task, we expect Matrix to outperform (accuracy and completion time) Node-Link for high-density datasets. We expect that occlusion problems in Node-Link would get severe in Dense cases, causing more errors. We also believe that the spatial encoding used in Matrix would prove easier to remember than the color encoding used in Node-Link, leading to faster answers.

• H2-For the Connectivity task, we expect Matrix not to outperform Node-Link because we believe that participants might need to compare two distant columns or rows in Matrix, whereas the force-directed layout in Node-Link ensures that connected nodes are in closer proximity. • H3-For the Region task, we expected Matrix to outperform Node-Link (accuracy and completion time). In Matrix, all connections of nodes in one region are contained within the region boundary. However, in Node-Link, participants had to consider links that are drawn across region boundaries, leading to more errors and slower answers.

• H4-Overall, we expected Node-Link to decrease in performance (accuracy and completion time) for Dense datasets, as edge density causes many edge crossings, decreasing the legibility of this representation.

Results

We used a repeated-measure analysis of variance (RM-ANOVA) to analyze the collected accuracy and time performance data. We performed the RM-ANOVA on the logarithm of the task times to normalize the skewed distribution, as is standard practice with reaction time data. The analysis of the time performance is reported for correct answers only.

Accuracy

The accuracy results are summarized on the left side in Table 5.1 and are shown in Figure 5.9(a). We found a significant effect of accuracy for Technique (F (1,10) = 55.32, p < .0001) with a large effect size (η 2 p = .85). Overall, Matrix is about 20% more accurate than Node-Link. The RM-ANOVA also revealed a significant effect of Task (F (2,20) = 28.67, p < .0001) with large effect size (η 2 p = .74), and a significant effect of the interaction Task × Technique (F (2,20) = 4.34, p < .05) with a large effect size (η p = .30). Pairwise comparisons revealed that Matrix is more accurate than Node-Link for all three tasks. We also found a significant effect of Size (F (1,10) = 18.69, p < .01) with a large effect size (η 2 p = .65) and Density (F (1,10) = 61.00, p < .0001) with a large effect size (η 2 p = .86). As expected, accuracy decreases for Large or Dense networks. The interaction Technique × Size (F (1,10) = 6.5, p < .05) is significant with a large effect size (η 2 p = .39). Node-Link is affected by Size, losing about 25% accuracy in large datasets compared to small ones. In contrast, Matrix has less than 1% loss in accuracy. Pairwise comparisons indicate that Matrix significantly outperforms Node-Link for large networks across all three tasks. The results indicate that both Techniques are affected by Density, Matrix losing about 10% accuracy, Node-Link about 20%. Pairwise comparisons indicate that Matrix significantly outperforms Node-Link both for Sparse and Dense networks across all three tasks.

Completion Time

We analyzed the completion time for correct answers only, using a mixed linear model capable of handling missing data cases. We excluded about 10% incorrect trials for Matrix and 30% for Node-Link (out of 528 total trials per technique).

The completion time results are summarized on the right side in Table 5.1 and are shown in Figure 5.9(b). We found a significant effect of time for Technique (F (1,10) = 28.40, p < .0001). Overall, Matrix is 15% faster than Node-Link. We also found a significant effect of Task (F (2,20) = 183.25, p < .0001) and Technique × Task (F (2,20) = 3.82, p < .05). Pairwise comparisons reveal that Matrix is faster than Node-Link for Connectivity and Region tasks.

We also found a significant effect of Size (F (1,10) = 139.19, p < .0001) and Density (F (1,10) = 30.94, p < .0001). As expected, completion time increases for Large or Dense networks. The interaction Technique × Size (F (1,10) = 9.84, p < .01) is significant. Node-Link is particularly affected by Size. For Large datasets, the completion time increases by about 60% for Node-Link and 40% for Matrix. For Dense datasets, the completion time increases by about 25% for both techniques.

User Preference Users rated their preference on a 5-point scale from -2 (strong preference for Node-Link) to +2 (strong preference for Matrix). We analyzed these ratings using a z-test. Results reported in Table 5.2 reveal that there is a significant difference in user preference between Techniques. Users preferred Matrix overall (p < .0001). In fact, 7 out of 11 participants ranked Matrix as the most effective representation (maximum rating of 2). Z-test also showed that the user preference was significantly different for the Connectivity (p < .0001) and the Region tasks (p < .0001). For these tasks, Matrix was preferred to Node-Link. Table 5.2.: User preference (means of ratings from -2-strongly node-link, -1-somewhat node-link, 0-indifferent, 1-somewhat matrix, 2-strongly matrix), the standard error is indicated in parentheses. Significant differences in user preference are indicated by *.

Discussion

The results of our controlled experiment indicate that matrix representations are more effective than node-link diagrams for encoding edge weights and performing comparison tasks. While we expected that it would be the case for the Trend (H1) and Region (H3) tasks in the Dense datasets, we were surprised to find significant differences in accuracy across all tasks for both sparse and dense networks. We did not expect a significant performance difference across techniques for Connectivity (H2). While we did not find any significant difference in completion time for correct answers, the results indicated that matrix outperformed node-link in accuracy, contradicting (H2).

Our results are in accordance with the study by [START_REF] Ghoniem | On the Readability of Graphs Using Node-Link and Matrix-Based Representations: Controlled Experiment and Statistical Analysis[END_REF]. Besides that we compared particular designs for graph comparison on node-link diagrams and matrices, our tasks involved multiple graph elements; spotting a particular region in the graph, requires to entirely observe the representation and spot higher level visual patterns. However, we did not test for path finding tasks, since such tasks are generally hard to perform with adjacency matrices [START_REF] Ghoniem | On the Readability of Graphs Using Node-Link and Matrix-Based Representations: Controlled Experiment and Statistical Analysis[END_REF].

Our results further show that participants unfamiliar with matrices were able to understand our cell encodings and to map abstract tasks to visual tasks (see Section 3.6). We originally thought that comparison in matrices may be error-prone since the rows or columns to be compared may be far away. Instead, we observed that the linear arrangement of edges (cells) in the matrix allowed people to inspect each of the candidate neighbors successively. In contrast, despite common neighbors being placed closer together in space in the node-link diagram, performance suffered from the less systematic manner to count them, leading to a decrease in accuracy.

While we exptected the decrease in performance for dense node-link diagrams (H4), we did not expect the strong performance decrease for large networks with node-link diagrams. We believe that this happened because the total number of edges increases quadratically with a linear increase in number of nodes, although the graph density remains the same. The total number of links shown in large sparse datasets, thus, is much higher than small sparse datasets. To offer a similar visual complexity in small and large graphs, we could envision to control the edge density per display area unit.

Conclusions

The findings of the study indicate that, for edge weight comparisons across two networks, node-link representations are more error-prone and less readable than matrices. The implications are three-fold.

Brain Analysis Scientists should adopt matrix representations to ensure better accuracy when performing comparison tasks. Our findings are encouraging to develop proper solutions that can combine matrices with spatial maps of the brain, which is important for brain analysis.

Network Density

The first point to consider relates to the datasets' density. While we tested graphs with connection densities of 5% and 10%, most brain networks are fully connected graphs with a wide range of weights. For certain tasks, especially overview and topological exploration tasks (WHERE, WHAT), it is necessary to observe the full range of edges; the general distribution of weight and its differences, as well as clusters and regions of lower edge weight. Brain analysis currently use a visibility threshold on the edge weight, in order to make node-link diagrams readable. Yet, as [START_REF] Ghoniem | On the Readability of Graphs Using Node-Link and Matrix-Based Representations: Controlled Experiment and Statistical Analysis[END_REF] and our study suggest, the reasonable threshold for node-link diagrams is very high, i.e. few edges can remain visible. D ENSE dynamic networks with changing edge weight, such as brain connectivity networks, pose numerous challenges to visualization interfaces. The last chapter proposed one technique for one set of tasks (direct comparision of two time steps). Eventually, many different visualization and interaction techniques may be required to support the wide range of tasks and account for a network's complexity. For example, matrices are used to effectively visualize dense topologies; glyphs inside matrix cells (e.g. [START_REF] Brandes | Asymmetric Relations in Longitudinal Social Networks[END_REF] or timelines can show temporal evolution of edge attributes; difference views allow for direct comparison, while animations help to track changes over a longer period, and allow a user to quickly jump between individual views of time steps.

Dynamic Networks

Multiple techniques can always be combined and integrated into an interface in order to improve its power and task coverage, but at the cost of simplicity and usability. Highly specialized interfaces with powerful functions require learning and may only be manageable by experts, who have learned to read the visualizations and use different techniques, as well as aggregate information across visualizations. Generally speaking, the more powerful the interface becomes, the more effort is required by users to manage it-or, the less willing they are to learn and use it. Yet, we must build interfaces that remain simple while supporting a wide variety of tasks.

In this chapter, we address the following two research questions:

How to manage the tradeoff between power and simplicity in network visualization interfaces?

How to support exploration of dense dynamic networks with changing edge attributes?

To address these questions, we developed the Matrix Cube, an easy-to-understand visualization and interaction model to visualize and explore dynamic networks. Matrix Cubes result from stacking adjacency matrices for each time step in the network, forming a space-time cube [START_REF] Hägerstrand | What about people in regional science?[END_REF][START_REF] Kraak | The Space-Time Cube revisited from a Geovisualization Perspective[END_REF]. 3D visualizations suffer from numerous problems, including perspective distortion, occlusion, and the need for specific interaction techniques (cf. [START_REF] Shneiderman | Why not make interfaces better than 3D reality[END_REF][START_REF] Robertson | Information visualization using 3D interactive animation[END_REF]. However, Matrix Cubes are not 3D visualizations; they serve as a model, a metaphor, and a design space to create and relate better readable 2D visualizations (views). Each view supports certain tasks by either showing the cube in a particular way, or by showing only particular parts of it. The views are conceptually-and visually-related by the cube, making it easy to navigate between views and understand which information they show and how they show it.

In order to create 2D visualizations from the cube, users interact with it. The Matrix Cube and associated interactions are inspired by the way people comprehend and manipulate physical cubes. Users can change their perspective on the data by rotating and projecting the 3D cube, or decomposing it using operations such as slicing and filtering. These operations lead to various 2D visualizations, that offer a set of coherent, easy-to-relate views on the data. The 3D view of the cube provides an overview of the data, as well as a visual metaphor for understanding transitions and pivoting between views. Meanwhile, the 2D views derived from the cube support more detailed analysis of specific aspects of the network and entities that constitute it.

In order to allow for interactions on the cube and employ visual mappings, we implemented a system called Cubix. Cubix supports several predefined views, quick navigation between them and several visual mappings, making it easy to handle the cube and explore the data. Cubix further features animated transitions that show how the cube is rotated and decomposed.

The Matrix Cube

The Matrix Cube is a representation of dynamic networks with associated time series to edges (e.g. edge weight). Let G = (N, E, T,W ) be a dynamic network with a set of nodes N, a set of edges E between nodes in N, and a set of time steps T . W is a function that maps a weight to every edge, for every time.

The Matrix Cube is created by stacking adjacency matrices in chronological order, one for each time step, as illustrated in Figures 6.1(a) and 6.1(b). The cube consists of two dimensions corresponding to the network nodes (node dimension) and one dimension containing the network's time steps (time dimension). In our representation, node dimensions are colored red, while the time dimension is blue. For the sake of simplicity and demonstration, here we focus on undirected networks, where matrices are symmetric to the diagonal. An extension towards directed networks is straightforward and is briefly discussed in the end of this section.

Parts of the Cube

This section further describes the three major parts of a Matrix Cube and what information they encode: cells, slices and vectors.

Cells A cell c i jt ∈ (N × N × T ) in the Matrix Cube exists for each edge e i jt between nodes i and j at time t.

Slices A slice in the cube is a 2D array of cells. There are two types of orthogonal slices in the Matrix Cube:

• Time slices T t exist along the cube's time dimension and correspond to adjacency matrices for any time step t (Figure 6.1(a)). Time slices have the dimensions N × N. • Node Slices N i exist along each of the cube's node dimensions and represent the dynamic ego network of node i. Node slices have the dimensions N × T (Figure 6.1(c)). The cube contains one node slice per node in the network. Rows in a node slice correspond to all nodes in N while columns correspond to time steps in T .

A cell in the node slice for node i shows all edges between i and the nodes in the slice's rows, for any time.

Vectors Cells are 0-dimensional and slices are 2D structures in the cube. 1-dimensional structures are called vectors and contain a 1-dimensional array of cells. The Matrix Cube contains two types of vectors which are orthogonal:

• Time vectors contain all cells representing an edge between the same node pair over time; α i j = [c i j0 , c i j1 , ...c i jT ]. A time vector hence describes the evolution of the connectivity between two nodes. Empty places in a time vector indicate that an edge is not present at that moment. • Neighborhood vectors contain all the cells representing incident edges of a node;

β it = [c i0t , c i1t , ...c iNt ]
A neighborhood vector β it corresponds to a row or a column in the adjacency matrix (time slice) for time t. It contains all incident edges for a node i at a time t.

Matrix Reordering

General methods for matrix reordering have been mentioned in Section 2.4.1. Since the Matrix Cube is a static structure it avoids the problem of stabilizing the mental map for each time point. If individual time slices were to be reordered, consistency of time vectors and node slices would be violated. Similar to the global layout in dynamic node-link diagrams, the Matrix Cube has one global ordering, which is the same for all time slices.

Brandes and Nick (2011) use a block modeling approach [START_REF] Doreian | Generalized Blockmodeling[END_REF] to reorder a matrix that visualizes a directed weighted dynamic network (Figure 2.28(c), Section 2.6). Block modeling requires a weight w i j for any pair of nodes i and j.

In the case of a directed networks, Brandes and Nick calculate w i j as the sum over the individual weights w t i j (weight w from node i to node j in time t ∈ T , with w t i j > 0):

w i j = T ∑ t=1 w t i j • w t ji
Cubix currently supports the following reordering methods:

1. alphanumerical on the node names to help finding nodes, 2. reverse Cuthill-McKee [START_REF] Cuthill | Reducing the bandwidth of sparse symmetric matrices[END_REF]: an algorithm that tries to minimize the matrix bandwidth and which yields good results for sparse matrices.

It starts with a low-connected node and subsequently choses neighbors with the highest number of common neighbors. 3. Traveling salesman resolver: models the linear matrix ordering as finding the shortest path between points with a defined distance. Distances between nodes are the euclidean distances between row vectors. To find the shortest path, we use the implementation of Lin-Kernighan heuristic (LKH, 2012), described by [START_REF] Helsgaun | An effective implementation of the lin-kernighan traveling salesman heuristic[END_REF]. 4. Optimal leaf ordering first requires a hierarchical clustering that results in a linear order of the leaves (nodes). Then leaves in the clustering are ordered to minimize the distance d i j between any two adjacent nodes. Clustering in Cubix is calculated using the HAC java implementation (HAC -A Java class library for hierarchical agglomerative clustering, 2013). First, it calculates a binary clustering, based on the euclidean distances between nodes (rows/columns). Then, the clusters are ordered to minimize the distance between adjacent leaves in the clusters. This optimization is done with the Bar-Joseph algorithm for ordering binary hierarchical clusters [START_REF] Bar-Joseph | K-ary clustering with optimal leaf ordering for gene expression data[END_REF].

Since we do not yet visualize directed networks with the Matrix Cube, for the distance w i j between two nodes i and j we simply accumulate the absolute values of their weights over time:

w i j = 1 |T | • T ∑ t=1 w t i j
The values of w i j are then useds to calculate the euclidean distance d i j :

d i j = N ∑ n=1
(w inw jn ) 2

Directed Networks

For directed networks that allow only one edge between two nodes i and j, that edge can appear twice in each time slice; as cell c i jt and as cell c jit , while edge direction must be encoded visually (e.g. color). For such networks, no extensions are required to the previous definitions of the Matrix Cube. Section 6.6.3 illustrates such a network.

For directed networks that allow for bi-directed edges, our definitions can be easily extended. Since an edge can only appear as one cell in a time slice, matrices can be read from rows to columns, for example (row-major notation). Consequently, we would differentiate between horizontal and vertical node slices in the cube. Vertical slices contain all incoming edges and horizontal slicess contain all outgoing edges. There would further be two time vectors between any node pair (one for each direction) and two types of neighborhood vectors; one comprising incoming edges at a specific time, and one comprising outgoing edges at a specific time. These additional slices and vectors describe additional views in our design space.

Cubix

The Matrix Cube is a rich model to describe dynamic networks. Cubix is a system visualizing dynamic networks with the Matrix Cube. Its interface is shown in Figure 6.3, with the Matrix Cube in the center. Users interactively manipulate the cube by applying operations to it. Different operations can be described to (i) derive meaningful 2D views that emphasize particular dimensions of the data, (ii) filter cells, and (iii) apply different visual mappings to cells' color and size. This section summarizes the main concepts of Cubix, while a walkthrough follows in the next section (Section 6.3), illustrating how Cubix supports the exploration of dynamic networks.

6.2. Cubix

Design Principles

Cubix is based on the following design principles: D1: 3D as a pivot -As already stated in the introduction of this chapter, 3D representations are hard to visualize on two-dimensional screens. Cubix is about applying operations on the cube that result in 2D visualizations. Still, explicitly showing the 3D cube has advantages: (i) it explicitly conveys the cube-based model to the user, (ii) it provides an overview of the data along all dimensions, and (iii) it serves as a pivot visualization when switching between views. D2: Limited number of views -The possible number of operations on the Matrix Cube as well as the views that can be derived by decomposing the cube and arranging its parts is potentially huge. In Cubix, the number of operations and views is constrained in order to keep navigation simple and manageable. D3: Easy navigation -Some views require multiple operations. For instance, laying out slices side-by-side requires specifying the slicing direction (time slices or node slices), and moving them to their appropriate position in 3D space. With the Cubelet a1 , we provide a widget for quick navigation between most predefined views, which are also accessible via keyboard shortcuts. D4: Animated transitions -Changes between views on the cube are smoothly animated, providing a good level of perceptual continuity during transitions, which helps users understand the relationship between views as well as track elements across them.

Views and Operations

In order to support exploration and create 2D views, Cubix currently supports several operations, illustrated in Figure 6.4. Most of them lead to particular views on the data, others are used to adjust the cube's appearance. Operations are performed on the cube or its slices and change the geometry of the cube. Operations are grouped into six major categories:

1. Extraction includes the extraction of individual cells, time and neighborhood vectors as well as both types of slices; time and node slice. Some of these operations are used to create the views (D2) in Cubix, others are applied interactively by the user. Figure 6.5 shows the set of, each of which can be further adjusted. View names have been chosen to consistently to describe a view design space.

(a) 3D view: The Matrix Cube is shown in 3D space, using a perspective projection.

The virtual camera can be everywhere around the cube (Figure 6.5(a)). The 3D view is the default view and does not require any particular operation. It can be 6.2. Cubix adjusted by rotation, filtering, slice, vector and cell extraction. Extraction and filter operations are not exclusive but complement each other. (b) Time-projection view: The virtual camera orthogonally faces a cube's side so that the entire cube is projected onto the N × N plane (Figure 6.5(b)). Using orthogonal projection, temporal information is generally lost to the benefit of showing clearly the network topology. (c) Node-projection view: The virtual camera orthogonally faces a cube's side so that the entire cube is projected onto the N × T plane (Figure 6.5(c)). Using orthogonal projection, topological information is generally lost to the benefit of giving a glimpse of the overall temporal evolution of the network. (d) Time small multiples: This view extracts all time slices and shifts them so that they are placed side by side on the screen (Figure 6. 5(d)). This view shows the network's state at any point in time (in T ). (e) Node small multiples: This view extracts all node slices and shifts them so that they are placed side by side on the screen (Figure 6.5(e)). It shows the evolution of every node over time. (f) Time-slice-rotation: This view is a focus+context view that rotates one or more time slices in the context of the node projection view (Figure 6.5(e)). (g) Node-slice-rotation: This view is a focus+context view that rotates one ore more node slices in the context of the time projection view (Figure 6.5(f)).

View Navigation with the Cubelet Widget

To obtain a view, users do not need to perform all the necessary operations manually (D3). Quick navigation is enabled by an interactive overview widget called the Cubelet a (Figure 6.6). The Cubelet is a static 2D-isometric abstraction of the Matrix Cube that indicates the current view on the Matrix Cube. Our Cubelet is somewhat similar to the ViewCube [START_REF] Khan | Viewcube: A 3d orientation indicator and controller[END_REF]) but provides different feedback about the current views. It uses the same color coding for the cube's dimensions as the actual Matrix Cube: blue for time, red for nodes. The Cubelet's left face corresponds to node slices (red × blue), the right face to time slices (red × red). Clicking on one of these faces triggers an animated transitions to the corresponding projection view, and shades the clicked face of the Cubelet (cf. Figure 6.6(a)). Dragging the mouse on the cube's faces transitions to the corresponding small-multiples view. When this happens, the Cubelet changes its appearance, to make it look like if it were sliced. Clicking on the Cubelet's top face animates back to the 3D pivot (Figures 6.6(b) and 6.6(c)).

Red segments in the cube indicate slices that have been selected manually by the user, while all other slices are invisible.

Walkthrough

This section illustrates Cubix using the example of a scientific collaboration network, referring to the tasks in the task taxonomy in Chapter 3. The network contains one time step per year. In this network, nodes correspond to researchers, and connections between nodes indicate a co-authorship relation on at least one publication during that year. Self-edges, which are cells located on the cube's diagonal, indicate individual publications of the corresponding author. Edge weight represents the number of papers between any two authors for a given year.

Matrix Cube Overview

After loading the data into Cubix, the cube appears as in Figure 6 Cells appear in the entire cube with a denser cluster in the "upper left" corner (Q3). To better show edge weights in dense areas, we switch to an alternative value encoding b (circled letters refer to interface components in Figure 6.3) that maps edge weights from blue (low) via gray to red (high)(Q4). This color scale was chosen because the two extreme values (blue and red) have equal lightness and gray in the middle is a fairly neutral value. In order to avoid occlusion, users can freely rotate the cube and obtain an overview of the data (Figure 6.7).

As long as the user smoothly rotates the cube with the mouse, he perceives the cube in 3D and can very well differentiate between cells in the foreground and in the background. However, as he stops rotating the cube, the 3D effect vanishes and the cube "collapses" into a 2D image. To help the user further getting an idea of the distribution of cells over time, we switch to time-color encoding, using the radio buttons in b , and obtain Figure 6. 8(a). For the time encoding we use a gradient ranging from blue (early time steps) via violet to orange (later time steps). This mapping was chosen because it ranges from a dark and fairly cold color to a light and warm color. The additional step of violet is to obtain more shades. In addition to that, I had to make sure that color scales (time encoding, value encodings) are sufficiently different from each other, so that they can be easily distinguished (during the exploration process, but also on screenshots). Time encoding, shown in Figure 6. 8(a), shows that the cube contains much more and larger bright and orange cells than dark and blue ones. Hence, the network is growing (Q5).

Small cells can bias the way we perceive network density (Figure 6.7). Figure 6. 8(b) shows a mapping where all cells have equal size c and entirely fill their "slot" in the cube. In fact, the entire cube contains 208 cells, which equals a density of 34%.

The Network's Topology

After that initial overview, we want to gain information about the network topology (WHERE):

Q1) Clusters and central actors: Which are the main clusters, central actors and outliers? Clicking on the Cubelet's right face a rotates the cube to the time-projection view shown in Figure 6.9(a). Cubix switches from a perspective projection to an orthogonal projection and all cells in the same time vector become superimposed. We adapt cell translucency h so that cell values get aggregated. Since cells all have the same size, we see the large cluster involving most of the authors, as well as a second smaller cluster in the lower right corner (Q1) containing low-weighted edges (Q3). Both clusters are highly interlinked involving Lucas, Louise, Nathan and Camille.

In order to know in how many years a collaboration has happened, we make all cells the same color (None-option checked in b ), which results in the view shown in Figure 6.9(b)). Now only the number of cells in time vector are responsible for the darkness value of the cells. While most papers have been written between Louise and Lucas, the longest period of collaboration is between Lucas and Lea (Q2).

We are now interested in instability in the topology and switch back to the time encoding while mapping edge weight to cell size (Figure 6.9(c)). The major cluster contains large orange cells indicating growing edge weight. The pair Lea-Lucas show decreasing edge weight, because the corresponding time vector contains a large purple cell (Q4). Gabriel's connections seem exclusively recent, since they do not overlap with any purple cells.

Figure 6.10 shows a close-up on the authors involved in the major cluster. The amount of orange indicates strong and recent connectivity between all of the cluster's members. Each of them has some individual publications long ago (purple cells), except Louise whose time vector is darker (more superimposing cells). Also visible is that the most publications have been co-authored by Louise and Lucas. Yet, a slight shift occurs, from Lucas and Louise collaborating with Nathan (purple framed cells Figure 6.10(a)), to collaborating more mutually (orange framed cells in Figure 6.10(a)).

Previews

Since time has been (almost) completely omitted from the topology view, many open questions remain: Q1) Edge weight evolution: How does the edge weight between a particular node pair evolves? (WHAT) Q2) Part of subgraph: When is a particular node part of a cluster? (WHEN) An easy way to get a better impression of time in the topology view, is to slightly tilt the cube causing time slices to shift (SHIFT+drag mouse (panning)). Figure 6.10(b) shows how cells in the time vectors appear and are better visible. The figure shows better the different cell sizes: cells sizes (edge weights) decrease between Nathan and Louise, while increasing largely between Louise and Lucas (cf. Figure 6.10(a)). Edge weights remain stable for Louise's individual publications and between Nathan and Lucas (Q1).

From the topology view, we noticed that Lea stopped collaborating with Lucas at some point in time. In order to know when this happened, we rotate Lea's node slice by 90 degrees and yield Figure 6.11. Rows in the rotated slice align horizontally with those of the projected slices, while columns now indicate time. To better compare cells sizes along time, cells only vary in height, but have the same lengths to link cells in the same time vector. Lea's slice reveals that she still collaborates with other authors (Q2) in the dense cluster as well as Nathan (bottom row). However, she was most productive in 2007.

Temporal Trends

Now, we are interested in the general temporal evolution of the network: Q1) Evolution of density: How is the trend in density? (WHAT) Q2) Node degree evolution: How does the degree of individual nodes evolve? (WHAT) Q3) Regional density: Which regions get denser/sparser over time? (WHERE) Q4) Activity: How "pro-active" are nodes, i.e. does their degree increase or decrease? (WHAT)

Clicking on the Cubelet's left side first rotates Lea's slice back in-line and then shows an animation that rotates the Matrix Cube by 90 degrees to the right, resulting in the view in Figure 6.12(a). We switch to value encoding since time encoding is redundant, while keeping the cell-size-to-height mapping. In this node projection view, we see a heat-map with one column per time step, time running from left to right. Rows still correspond to the network's nodes. In this view, cells in the same neighborhood vector superimpose and yield the aggregated connectivity per node for every year.

The general trend in this research group is towards more publications and collaboration (Q1) indicated by darker cells due to superimposition of translucent elements, except for 2008. Even the large cluster, involving Lucas, Louise, and Nathan grew steadily, except in 2008 (Q3, Q4).

When comparing rows, we compare the connectedness of individual nodes over time. To avoid bias by self edges, they can be hidden manually (checkbox in i ). We see that four authors collaborated throughout the entire time span (Lucas, Louise, Lea, Nathan). Several others (e..g Camille, Gabriel, Hugo) seem to have joined the group in 2007 (Q3).

Individual Connections

After obtaining a literally "superficial" overview over the network's topology and its general temporal trends, many questions require a detailed analysis of the cube's interior. From Figure 6.12(b), we see Lea publishing only with Lucas until 2007. If we switch to an equal encoding for all cells b c , we see that Lea in 2007 has one of the highest degrees in the entire network. In order to know with whom she collaborated, we have two options. (1) Her slice can be rotated vertically, similar to Figure 6.11. ( 2) More elegantly, we can hide all other slices. Therefore, projection views in Cubix provide a list with labels from the hidden dimension on the right side of the cube, indicated by the arrow in Figure 6.12(c). Hovering Lea's label keeps only her slice in the cube and reveals her collaborators in 2007. Note that cell color and size have been set to be equal to obtain the view in Figure 6.12(b), except that cells have been rendered opaque. Lea's slice further reveals that she collaborated with almost all people in the data set (Q1), indicated by only three completely empty rows. The row for Lea shows one cell, which indicates the one individual publication Lea had in 2006 (showing self-edges again i ).

In order to compare multiple node slices, we could rotate as many of them as necessary, while remaining in the time-projection view. Eventually, all slices would be rotated and would face the observer. A shorter way to achieve that view is to drag the mouse on the left face of the Cubelet. An animation is shown decomposing the cube and laying out slices as in the node-small multiples view in Figure 6.13.

The overview on all node slices reveals who has been most active and for what period of time. Slices for Hugo, Sarah and Enzo show very similar patterns. They started collaborating recently and collaborate with the same people (Q1). The same is true for Lucas, Louise and Camille. Most collaborations are stable (Q2), indicated as almost no row shows holes, meaning that once a pair have started collaborating, they continue or stop for ever (Q2,Q3). There are only two node pairs not following this pattern: Enzo-Lucas and and Enzo-Chloe. In fact, having a closer look to Enzo's slice, shows that he did collaborate a lot in 2007. It might be that he was an intern in 2007 and officially joined the group later. Switching to the time-index color mapping (Figure 6.13(b) makes it easier to compare ego-network topologies for a given time step. The general trend of collaboration is towards more collaboration and number of papers (Q5).

Topology of Individual Time Steps

At this point of the exploration, we know about the network's clusters, its central actors, important years, as well as how individual authors collaborate over the years. Finally, we want to compare individual time steps, to answer the following questions: Q1) Compare times: How much do time slices differ between each other? (WHEN, WHERE) Q2) Evolutionary process: Can the network evolution process be divided into periods and states? (WHEN, WHERE, WHAT) Q3) Recurring Patterns: Are there typical topological patterns that reoccur over time? (WHEN, WHERE, WHAT) In summary, Cubix provides five ways to show a single or a few individual time or node slices:

1. hover the label of a slice in the 3D view (Figure 6.16(a)), or in the corresponding legend in the projection views (Figure 6.12(c)), 2. click the slice label to make the slice permanently visible, but hide the others, 3. select a time range on the time-ranger slider f (for time slices only), 4. layout all slices side-by-slide Figure 6.15, or 5. rotate an individual slice inside the cube (cf. Figure 6.11).

In Figure 6. 16(a), the label for slice 2009 has been hovered, causing all other slices to be hidden. In order not to lose context completely, hidden slices are "ghosted", rather than completely removed; the left handle of the opacity slider h , labeled "F", is used to set translucency for filtered slices, while the right handle sets translucency for visible slices.

We switch to the time-projection view and, using the list of all times on the right side, leafing though slices by sliding over the labels with their mouse. One or several slices can be selected to compare two time steps. Figure 6.12 showed 2008 as an outlier, against the general trend towards more connections and higher edge weight in the network. By selecting the two years 2007 and 2009, and switching to a time encoding, Figure 6. 16(b) reveals the direct differences between the years preceding and succeeding 2008 (2007=purple, 2009=orange). Most connections in 2008 are not present in 2007 and vice versa, except for some pairs in the cluster on the top left (Q1).

To see the different stages of topology evolution at-a-glance, dragging the mouse on the Cubelet's right face triggers an animation that decomposes the cube into individual time slices. Using color encoding for cells, Figure 6.15 shows four characteristic topological configurations (Q2) that explain the different patterns observed in Figure 6.12. only the group's core existed. One year later, the group again gained new members and kept stable in 2010 (Q3).

Note that, due to the global matrix ordering, outlier topologies such as in 2007 stick out visually due to a more fragmented cell layout. In larger networks, fragmented time slices are likely to appear more often and reduce legibility. When only a subset of time steps are selected (using time slider or mouse selection), users can reorder the entire cube d , by taking only the selected time steps into account, potentially yielding more meaningful visual patterns. After reordering, users show again all slices; time slices that are more fragmented indicate time steps with a more different topology than the selected ones. This rough overview over the collaboration network, already revealed many trends, patterns as well as detailed information. The group's density is steadily growing, as well as the numbers of papers co-authored between any two authors. New people seem to have arrived during the years, being highly connected to the one central core, which likely included the group leader(s). However, collaborations are generally equally distributed among all group members.

Cell Filtering

The example network from the walkthrough scenario was small and relatively sparse, compared to the majority of networks. Figure 6.17 Cubix offers multiple ways to filter cells that let users specify which ones should be shown or hidden in the cube (and thus across all views).

• The edge weight range slider makes it possible to hide edges whose weight is below or above some threshold, which is especially useful when the cube is complete. Selecting the Adapt Weight check box d maps the weight of visible cells into the range of minimal and maximal cell weight. As an effect, the low weighted visible cells become even smaller (making the cube appear sparser) and allow to perceive more details in the edge weight distribution of the selected range (Figure 6.17(b)). As an option the mapping from weight to cell size may be changed from a linear mapping to a logarithmic one (Logarithmic Scale d ).

A further option (Inverse Filter d ) allows to invert the edge weight slider, i.e. the part selected by the range is removed from the visualization. This function is particularly useful to investigate extreme edge weights (see Section 6.6.3). • Lasso selection works in any view and leaves only the selected cells and those behind. Figure 6.17(c) shows an isolated block selected while in the node-projection view.

• Selecting one or more slices, by right clicking slice labels in the 3D view, automatically hides all others. If both horizontal and vertical slices are selected, only the cells at the intersection of all selected slices remain visible. Hovering over a hidden slice's label temporarily reveals that slice. Figure 6. 17(d) shows several vertical and horizontal node slice selected, leaving only the cells in the intersection visible.

• Clicking a cell once hides all slices but those that contain this cell. Clicking it twice hides all cells but those that belong to the same time and neighborhood vectors.

Animated View Transitions

To help users understand the relationship between views on the Matrix Cube, transitions between individual views are smoothly animated transitions [START_REF] Robertson | Information visualization using 3D interactive animation[END_REF].

Those transitions are designed to (a) help users identify the current direction the cube is sliced (by time or by nodes slices) and (b) support users' interpretation of the new view. Each animation within a transition changes one particular element or parameter of the representation. There are animations to move the camera, animate between perspective and orthogonal projection, move or rotate slices, and fade labels in or out. Animations on the same element (e.g., a slice, or the camera) are played sequentially, while animations on different elements are played in parallel, for the most part.

The three following types of transitions exist between individual views of the cube.

• Rotation + Projection: When switching from the 3D view to one of the projected views, the camera is moved, and then the projection is changed from perspective to orthogonal. Likewise, switching from time-projection to Node-projection views (Figure 6.18(a)), (1-2) the projection is changed from orthogonal to perspective, then (3) the camera is rotated around the cube, and finally (4)[START_REF] Bullmore | Complex Brain Networks: Graph Theoretical Analysis of Structural and Functional Systems[END_REF] the projection is changed back to the orthogonal projection. Labels remain in their 3D position but are adjusted and rotated to always face the user. The total duration of this animation is 1 second. • Slice Rotation: When rotating a slice in the Time-projection or Node-projection view (Figure 6.18(b)), first (1-2) the projection changes to perspective, then (2) the 6.5. Animated View Transitions

(1) (2) (3) (4) (5)
(a) Cube rotation from Time-projection view (1) to Node-projection view ( 5).

(

) (2) ( 1
) 3
(b) Rotating node slice "Brazil" (arrow) in the Time-projection (1).

( slice is rotated, all other slices being pushed to the sides to make room for it, and finally (3) the projection changes back to orthogonal. The default duration of this animation is 0.5 second. • Composition and decomposition of the cube: Decomposing the entire cube and laying out all of its slices in a grid pattern is the most complex transition. We tested several possibilities including an animation that manages slices as if they were pages on a stack of paper and, starting with the far most one, slices are moved to their new position using a slow-in / slow-out pacing function. This transition turned out out cause a lot of visual noise, especially if the transition has to handle many slices by remaining within a short duration (maximum of 1.5 seconds). We finally decided on the staged transition shown in Figure 6. 18(c). ( 1) From the 3D view, ( 2) slices in the cube move in together to their final vertical-position in the small multiples grid ( 5), as if the cube were sliced only partially. Then [START_REF] Ahn | Pipeline model in the task taxonomy for dynamic networks[END_REF](4) slices get moved to their final horizontal-position, starting with the top slices slightly in advance to produce a fluent animation.

There are some views between which no direct transition exists, such as between a node small multiples view and a time small multiples view. In cases that require the cube to be sliced, independently whether it is already sliced, a first transition leads to the 3D view, and a second transition leads to the target view. For instance, this happens when switching from Node to time slices and vice versa. A slice rotation view first rotates all its rotated slices back, yielding a corresponding superimposition view, before starting the transition to the destination view. The 3D cube acts as a pivot, providing clues about the relationship between the views. While novice users might prefer slow, detailed transitions, experts might prefer to navigate quickly between views. Animation speed can be adapted using a slider h .

Validation with Experts

Visualizing dense, weighted dynamic networks is a problem in multiple application domains. For a first evaluation of Matrix Cubes, we contacted two researchers that face the issue of visualizing dynamic networks: an astronomer and a neurologist. We wanted to focus on the overall usefulness of Matrix Cubes and usability of Cubix through an open-ended evaluation using real data, so as to answer questions such as: Is the metaphor understandable? How well do experts manage to manipulate the cube and interpret the views? Can they gain insights about their data from this visualization?

General Methodology

Both experts were approached independently and asked if they would be interested in trying to visualize their data with Cubix. We demonstrated Cubix using the co-authorship network described earlier in this paper. In both cases, the experts' feeling was that the approach had potential, and they agreed to provide us with actual data. Once their data had been imported in Cubix, we met again with each of the two experts for a longer session, walking them through the different views and features based on a sample of their own data. Experts then took control, looking at their data in more detail by themselves under our guidance, as detailed below.

ALMA

The Atacama Large Millimeter/submillimeter Array [START_REF] Pietriga | Interaction Design Challenges and Solutions for ALMA Operations Monitoring and Control[END_REF] is a state-of-theart radio-telescope composed of 66 high-precision antennas currently under construction in the Chilean Andes. Observations are based on the principle of interferometry: a source in the sky is observed by a subset of 12-to-50 of those antennas, called an array.

In a given array, all antennas are connected to the other ones in a pairwise manner, thus forming a fully-connected network. Edges of this network, called baselines, have several quantitative time-dependent variables associated with them, which astronomers are interested in looking at.

Astronomers currently use a tool developed in-house to plot these individual variables as scatterplots or line charts. While these charts may be able to produce legible visualizations for antenna-based variables, they do not scale to the number of baselines in an array (typically 1225 for 50 antennas). Still, astronomers need to either monitor in real-time or analyze a posteriori those data over numerous time steps. Following the general methodology described above, we approached an ALMA astronomer. The session consisted of two parts. We used one of the four baseline-based variables available in the data he had provided (see below) for the walkthrough. Then the astronomer took control of the computer, and visualized all four datasets, commenting on his findings and insights, and asking for help to get to a particular view when stuck (he was told that he could freely ask for our assistance). These two phases lasted 22 and 45 minutes, respectively. The entire session lasted 1.5 hours, including preliminary explanations and post-hoc discussions. We recorded the session and took pictures of meaningful views on the data for analysis once back in our lab.

Data

The dataset corresponds to a calibration, used to compute very precisely the (x,y,z) geographical position of antennas. For this, antennas point at a series of quasars that act as reference sources. Quasars are pointed at, one after another, by all antennas simultaneously. Each quasar represents one of the 34 time steps in the data. The data consists of four variables, each visualized independently in a separate cube: DELAY, Amplitude (AMP), Amplitude RMS (RMS), and signal-to-noise ratio (SNR). All are measured for 42 antennas, i.e., 861 baselines, for one particular baseband and one polarization only. Each cube thus consists of 42 × 42 × 34 ≈ 60,000 cells.

Usage Scenario

We first provide a summary of the visual exploration process over the entire session, focusing on the main steps related to the key findings which are discussed afterwards.

RMS We used the RMS data to give a walkthrough to the astronomer (Figure 6.19). Straight from the 3D overview, four time slices stood out, featuring larger values than other time steps, as illustrated in Figure 6. 19(a). After briefly showing the time-projection view (Figure 6.19(b)), we quickly switched to the node-projection view at the expert's request, as he was interested in getting a better look at the evolution of values over time (Figure 6.19(c)). From this view, he confirmed his intuition that the four time slices spotted in the 3D overview were quasars that were too weak and should probably be removed from the catalogue of sources used for calibration. Based on the fact that always two of the four columns in the node-projection view look exactly the same, he inferred that these four time steps might actually correspond to the same quasar observed 4 times, or to 2 quasars observed twice each.

At the expert's request, we filtered out higher values corresponding to the weak sources, so as to be able to better compare the cells from other time steps visually (the value-tocolor mapping adjusts cell color dynamically as higher-value cells get filtered out). The result looked homogeneous (Figure 6.19(d)), leading the astronomer to the conclusion that there was no antenna-based problem, which would have appeared visually as one-or-more entire rows of cells with high values. We then finished the walkthrough by explaining both time and node small-multiples views, illustrating features such as brushing.

DELAY Now familiar with Cubix's main features, the astronomer started exploring the data on his own, switching to DELAY Figure 6. 17(a). In this data, he was looking for baselines whose delay varies over time, as this was not supposed to happen (delay should be more or less constant). He switched to the node-projection view Figure 6. 20(a), which shows time steps as columns. However, as all node slices were superimposed, it was difficult to spot specific baselines that would feature significant variability. The expert realized this, and decided to switch to the time-projection view Figure 6. 20(b). Some rows and columns stood out, indicating possible antenna-based problems.

From there, he asked that we switch to the view that shows node slices as small multiples, as he wanted to get an overview of what particular antennas feature higher variability, something that can easily be seen in this view by visually scanning the whole set of small multiples (Figure 6. 20(c)). This view revealed another pattern: for some antennas, roughly half of the baselines had much larger delays than the other half. The astronomer switched back to stacked node slices to quickly brush through the slices in more detail. There was no clear explanation for this observation, which requires further investigation by looking at additional data not available here.

AMP

We then switched to AMP data, shown in Figure 6. 21. Figures 6.21(a) and 6.21(b) show the same 3D view but the astronomer was very interested in the time-projection view, as the two main types of problems were readily apparent. First, antenna-based problems affect all baselines that connect to it, which visually translates into the corresponding row/column featuring a lot of variability (see 1 ). Second, problems affecting a single baseline, possibly due to, e.g., atmospherical changes, which visually translate into isolated cells featuring a lot of variability (see 2 ). Another pattern that clearly stood out in this view is the difference between the eight left-most columns 3 and the following ones 4 , attributed to the different types of antennas that compose ALMA2 . Finally, the astronomer looked at SNR data, identifying similar visual patterns, and then finished the session.

Brain Function Activity

The second expert, a researcher in neurology, studies signal patterns between regions of the brain under different stimuli, collected using EEG-correlated fMRI [START_REF] Goldman | Acquiring simultaneous EEG and functional MRI[END_REF]. He is interested in identifying time steps that feature a high activity level overall, connectivity patterns that reoccur over time, and which regions are active at specific moments. All of these can then be compared across different stimuli.

The neurologist currently uses spatial brain maps to explore his data, but the physical position of brain regions is not important when analyzing this type of dataset: maps do not properly convey the network's topology. Currently, no visualization faithfully represents his data since node-link diagrams fail to provide a legible view of such dense networks. Therefore, just like the astronomy expert, neurologists typically look at time-series for each region of the brain, without any visual feedback about the topology.

The methodology employed for the neurologist was slightly different than for the first expert. The neurologist was located in Canada, and thus sessions were conducted remotely using a videoconferencing tool. The neurologist was provided with the Cubix software; the system ran simultaneously on both ends, with screen sharing enabled. We conducted two sessions, with one day in-between the two. After looking at the data and explaining to us what it was about, the neurologist asked for a few changes to the visual representation to reflect domain specific information. We planned for the second session to implement the requested changes and give him time to explore his data with the adapted version of Cubix. The second session was conducted under the same conditions, using the new visual representation.

Data

We obtained data about three different regions of the brain from multiple subjects, observed under 3 different stimuli. For each of these regions, signals for 50 different frequencies in 8-to-16 subregions were recorded. Several measures are used to characterize connectivity, such as Granger causality, and we can only show one dynamic network at a time from this rich dataset in a matrix cube. The networks visualized in Cubix consist of 8 or 16 nodes over 150 time steps (5 minutes of recorded brain activity at a 2-second sampling frequency). Measures exist between any two regions, meaning that networks are fully-connected, the corresponding matrix cubes containing from 8 × 8 × 150 = 9600 to 16 × 16 × 150 = 38400 cells. Figure 6. 23(a) shows 15 out of 150 time steps for a network of 8 regions.

During the first session, the neurologist explained that edge weights have normalized values in [-1.0, 1.0], and that edges of interest are those near the extrema. We added an additional color scale and mapping, emphasizing those values, as illustrated in Figure 6.23: 1.0 gets mapped to red, 0 to light gray, and -1.0 to blue. A new mapping of edge weight to cell size was also added, assigning smaller sizes to edges with lower absolute values. The range slider used to filter out edges based on their weight now features an option to invert the selection, so as to remove values in-between the two knobs rather than those outside the corresponding range.

Usage Scenario

Data visualized during the first session corresponded to a resting phase (no visual stimulus, subjects' eyes closed). At the neurologist's request, the second session focused on data observed during a phase featuring visual stimuli. Using the new color and size mappings revealed the symmetric distribution of red and blue cells in the 3D overview (Figure 6.23(a)). Several time steps also stood out as significantly denser than others, distributed over time. Switching to time-projection view made it possible to get a clear look at the denser time-slices, confirming the symmetry between red (sending) and blue (receiving) edges. Beyond symmetry, one pattern appeared consistently across all slices that feature a high level of activity, made even more apparent when reordering rows and columns based on their similarity: two or three regions received from exactly four other regions (blue cells in the same row) while sending signals to the remaining four regions (red cells in the same row, 1 ). Sending and receiving regions were the same. However, one of the two active regions also sent to the other one, not receiving any signal from it.

Switching to the node-projection view (Figure 6.23(c)), salient patterns could be observed when looking at the temporal distance between highly-active time steps. The neurologist indicated again that edges with low absolute values were irrelevant; those got removed accordingly, keeping cells whose absolute value was larger than |0.5| only. We adapted translucency as illustrated in Figure 6. 23(b). Rotating some time slices in-place enabled the neurologist to recognize the topological patterns previously spotted in the time-projection view. Temporal patterns seemed randomly distributed but occurred in intervals of 3 or 4 time steps 2 . As illustrated in Figure 6.23-c, one region was more active than the others 3 . Switching to time small multiples (Figure 6.23(b)) confirmed that region R-4 was indeed active in many time slices, and was often among the most active ones 4 . Switching to the node small multiples, the neurologist found two regions that were more active than the others, one of them 5 sending more often than it received, and almost always sending to the same regions (Figure 6.23(d)).

Key Findings

The cube metaphor was quickly understood. It helped, along with animated transitions, to switch between views. Right from the start, both experts understood what the cube was about, as well as the views that were derived from it. For instance, as the view was animating from the 3D cube to the time-projection view, the astronomer made the following comment: "Ah! ok, now you are stacking time." Once he took over, he always managed to switch between views without assistance, sometimes hitting the wrong key but quickly recognizing that this was not the view he wanted. The neurologist used both the Cubelet and keyboard shortcuts. There was only a bit of confusion for the astronomer the first time we switched to the view that shows node slices as small multiples, but that view was then well understood and used, though the astronomer asked for assistance to go back to this particular view from the time-projection view. It is worth noting that he knew exactly what view he wanted; his problem was that he did not remember how to get there.

Further evidence of the experts' understanding of the matrix cube comes from a comment the astronomer made as he was looking at DELAY data in the time-projection view. As he was looking for baselines featuring significant variability, i.e. squares within squares in a given cell, he realized on his own that for a given baseline, larger cells earlier-in-time would hide smaller cells that were behind them in this particular view, thus masking some types of variability patterns. This is indeed true; we then explained how to overcome this limitation in Cubix by, for example, adjusting cell translucency to see through them, or by switching to another view.

The astronomer also took for granted that cells filtered out in one view would still be hidden when transforming the cube to another view, without us mentioning this at all. We interpret this as further evidence that the cube was well-understood as a model/pivot view.

All views were considered useful for different tasks. According to the astronomer, the time small multiples view was very useful, but slices were very small. This fact could be partially lowered by switching to an equal size for all cells, thus keeping color intensity as only weight indicator. Better interaction capabilities (e.g zoom on slice) could easily improve this view. In the brain scenario, the time slice view revealed repetitive patterns at a glance.

Slice rotation in node-projection very useful to get quick overview over each node's activity, given that cells in the same time slice overlap. In fact, since the entire set contains too many dimensions to be visualized in a single cube, experts were looking for prominent time steps across the cube. They could then draw conclusions from the regions activity back to the visual stimuli at that time.

The 3D view was slightly but constantly moved to better perceive depth of the model. Being able to switch between different views was essential to his analysis due to the density of the data and the different patterns visible in any of these views.

Filtering, brushing and linking were useful. To look at individual slices, the astronomer used the slice list on the right side in node-and time-projection views. Sometimes he looked at one particular antenna he had identified in another view, sometimes he browsed through slices to find antennas with particular characteristics hinted at by the default view, which shows all slices stacked. Filtering was found useful by both experts, given the density of the data and the opportunity to focus on different ranges of edge weights (low weight, high weight, extremes). The astronomer understood on his own that filtering was happening on the cube as an object, not on a particular view of it. He made one request: in addition to being able to select what slices to show, he wanted to select which slices to hide (which was at the time only possible by selecting all slices not to hide).

The astronomer further mentioned that brushing and linking in the small multiple views was very helpful to compare particular values across slices. The brain scenario contained too many time slices ( 150), which made it hard to compare distant time slices in detail.

Cell color was constantly mapped to edge value. The neurologist asked specifically for a new edge-weight-to-color mapping that would encode edge direction (blue, red) and used it exclusively. The astronomer was told about both original color mappings: time and value. He immediately stated that redundantly encoding time with color was of no interest to him. Instead, he wanted cell color to reflect the associated edge value.

Row and column reordering are useful, but can be confusing. Rows and columns of matrices can be either sorted alphabetically or reordered based on their similarity, so as to make some visual patterns such as clusters more apparent. By default, users are presented with the latter option. The astronomer had not realized the type of ordering, which was confusing to him at first, as he is used to looking at matrices sorted alphabetically, by antenna type and name. As a result, he was not expecting to see some of the visual patterns that appeared, and was instead expecting individual, isolated rows and columns to stand out. He realized this when we switched to name ordering while discussing possible differences due to antenna type. This alphabetically-sorted view felt much more familiar to him, as the visual patterns of clusters were no longer there to "prevent him from seeing individual rows and columns."

The neurologist specifically requested that rows be reordered based on similarity when looking for patterns in the time-projection view. However, since there was much variation between time slices, the general reordering was not very optimal. A better way would be to either select individual time slices of interest or particular time ranges, and then order those time slices.

Matrix Cubes succeeded in providing a legible visualization where other approaches had failed so far. The astronomer currently visualizes data using line charts and scatterplots. While this worked fine during the early construction phase of the observatory with only a few antennas available, this solution clearly does not scale to the over-a-thousand baselines now formed by the almost full complement of 66 antennas. What the astronomer appreciated with Cubix was that he could clearly see patterns at once, such as antenna-based problems, without having to select and plot specific antenna pairs as he has to do now, and which is very tedious: "With Cubix, you visualize it instantaneously. It is much faster." He also enjoyed the fact that he could smoothly transition from one view to another. In the same vein, the neurologist commented: "With your tool you just load the data and you see it [...] It is a very nice piece of work."

At the time of writing, both experts expressed interest in exploring their data further with Cubix. The astronomer has prepared additional datasets that he then explored with our system. The neurologist stated that he wanted to further use Cubix. The data he looked at was the result of a recent experiment, and he wanted to spend more time exploring it as to become more familiar with it.

Conclusions

This chapter introduced the Matrix Cube, a representation for dense dynamic networks with weighted edges. We described how an interactive system, Cubix, is used to visualize such networks with the Matrix Cube and interactively deduces 2D views, including basic interaction support and animated transitions between view states.

The feedback we got from the two experts is encouraging: they both were able to understand the cube metaphor, interpret the views, chose views according to the current task, as well as to navigate between views. Cubix enabled them to make interesting observations about their data, in a way they were not able to see it before, as they stated during the study. Both experts expressed interest in using it further to explore additional data in the future.

However encouraging, our evaluation is only a first step and we need to further evaluate the potential and usefulness of the Matrix Cube as well as novel interface too exploit and explore it. A limitation of the study is that it only involved two domain experts. While they were from two very different domains (astronomy and neurology), Cubix should be evaluated with more experts and datasets, in order to validate the generalizability of our results. Controlled experiments are required, involving low-level network exploration and analysis tasks, to help identify particular strengths and weaknesses of Cubix and Matrix Cubes.

The design decisions made in Cubix are aimed at making the cube model and associated interactions simple to understand and consistent across views on the data, providing users with an effective interface metaphor. It can only serve as a basis for the many open questions, that should be addressed in future research on visual representation, interaction and analytical methods.

Cubix currently implements several visual mappings for cells, including color and size. However, projection views may require more powerful encodings. While currently cells overlap, glyphs such as used by [START_REF] Yi | TimeMatrix: Visualizing Temporal Social Networks Using Interactive Matrix-Based Visualizations[END_REF], as well as [START_REF] Brandes | Asymmetric Relations in Longitudinal Social Networks[END_REF], can show information about the projected dimension.

A major drawback of the cube model is that it does not provide a direct way to encode changing attributes on the nodes. One solution is to visualize node attributes inside cells when in the node-projection view, creating a heatmap as in NetVisia [START_REF] Gove | NetVisia: Heat Map and Matrix Visualization of Dynamic Social Network Statistics and Content[END_REF]. A second solution, also requiring a projected view, consists in showing changes in node attributes as, for example, time lines next to the nodes' labels.

The Matrix Cube makes a link between a detailed analysis, including focused and precise tasks, and the general visual exploration. A simple extension in this direction is to provide multiple coordinated windows [START_REF] Roberts | State of the art: Coordinated & multiple views in exploratory visualization[END_REF] on the same cube, while each window can show different views and states thereof. While Cubix is currently designed for desktop computer setups, which rely on 2D screens, mouse and keyboard, future research could investigate appropriate exploration techniques that make use of beyonddesktop techniques; (multi) touch screens, large wall displays, stereoscopic displays, or interaction through physical props. The multitude of ways to look at the cube may inspire the design of appropriate interaction techniques.

While the current model focuses on undirected networks, it is technically easy to adapt it to visualize directed networks, as already explained in Section 6.1.3. However, a particular problem is the visualization of large networks. While the cube's size and visual complexity quickly increase with the number of nodes and times steps, the derived 2D views remain less affected by network size due to aggregation and clear layout of cells. Many options can be envisioned to further reduce the cube's size, informed by its geometry:

• Pan+Zoom: Show only a portion of the large cube, a technique described by [START_REF] Kraak | The Space-Time Cube revisited from a Geovisualization Perspective[END_REF]. • Collapse: Filter out low-weighted edges and remove slices with no visible cells.

• Aggregate: Aggregate node slices into higher level slices using clustering, aggregating neighbors such as used in ZAME [START_REF] Elmqvist | Zame: Interactive large-scale graph visualization[END_REF], or aggregate adjacent time slices at different levels of temporal granularity (cf. Section 2.2).

A Framework for Unfolding

Space-Time Cubes V ISUALIZING temporal data is a problem in many domains where data is rich and involves more than a single dimension. Networks are only one example where two spatial dimensions (node-link diagrams and matrices) are used, while visualizing evolution over time requires abstraction and changing the mapping to space as discussed in Section 2.6, for example, using techniques such as that described in the chapters on GraphDiaries (Chapter 4) and the comparison of weighted networks (Chapter 5). The particular visualization problems (combination of space and time, density, amount of change, types of change, etc.) are similar to, for example, visualizing geo-temporal information such as bush fires, earthquakes or people's movement over time, or analyzing and exploring large collections of videos.

Many different techniques have been designed to visualize such time varying data, including some of the oldest examples of information visualization, such as Minard's "Napoleon's march to Moscow" (Figure 7.1). Some techniques have become common across domains such as animation or small multiples. Other techniques use unique names that are easy-to-remember, such as Parallel Edge Splatting, Massive Sequence Views or GraphFlow (see Section 2.6). However, the term small multiples can refer to two different representations of the same data, depending on the meaning of the spatial dimensions within each picture (Figure 7.2). In contrast, the examples in Figure 7.3 have different names but are conceptually similar as they show time as the horizontal spatial dimension.

A missing common terminology for all these visualizations makes it hard to describe, as well as to think about and discuss them. A discussion of the advantages and disadvantages 1970). On the bottom the two spatial dimensions, while time proceeds to the top. Curves in the cube describe the trajectory of peoples, involved a group event "meeting" (right trajectories), or interacting with a machine (left trajectory). Telephone call is an event between distant peoples.

The previous chapter on Matrix Cubes (Chapter 6) made an attempt to define a more structured design space to visualize and unfold dynamic network data, although with a very specific type of visualization and on a specific type of data. I introduced the notions of operations and views where operations are performed on the 3D space-time cube and lead to specific 2D views, each view supporting a complementary set of tasks (Chapter 6). Although the particular space-time cube appears to be domain-specific in the first place, its approach to visualization is generalizable to space-time cubes in other domains.

Motivated by the way Cubix uses the Matrix Cube to visualize dynamic networks, this chapter addresses the following questions:

How can operations on the space-time cube be described in a consistent design space? How can we create a common understanding of the space-time cube that allows for the evaluation of existing, and generation of novel, visualizations across domains? Space-time cubes originate from geography. They have first been described by [START_REF] Hägerstrand | What about people in regional science?[END_REF] in order to provide a model to describe peoples' movement in space and time1 . Individual peoples' space-time paths can reveal their interaction with other peoples as well as their range of action (space-time-prism). Figure 7.4 illustrates several peoples' space-time paths, some bundled in an event called "meeting". Geographical space is represented as a 2D plane, and time evolves towards the third spatial dimension to the top.

In this chapter, we present a framework in which the space-time cube serves as a conceptual representation for datasets that include a temporal plus a spatial component (spatio-temporal). "Spatial" does not need to refer to geographical data, but applies to all datasets that are usually visualized in two dimensions; dynamic networks, videos, multivariate data in scatterplots, bar charts etc. By conceptual we mean that the spacetime cube does not have to appear explicitly in the final visualization, nor does the cube or individual operations have to be implemented in a visualization system, as it is done in Cubix. Our model of the cube serves as a thinking tool with the purpose to:

• describe and classify operations, • help in evaluating operations and visualizations, and • serve as a design space to create novel visualizations.

To group techniques for dynamic networks in Section 2.6, I used the terms aggregation, animated sequences, timeline, temporal multiples, embeddings, and ego networks. All of these visualizations are conceptually related to space-time cubes. For example, animated sequences can be described as quickly showing time slices to users; temporal multiples can be described as laying out time slices side-by-side on the screen. Views in Cubix were already created in such a way (Chapter 6). Here, we use a new terminology, informed by operations, and review additional visualizations of spatio-temporal data from related visualization domains (Section 7.1). In general, while some views can be described by a single elementary operation, others require multiple operations, described as a compound operation. We group and describe elementary operations in a taxonomy and describe how they are assembled into compound operations in Section 7.2.

In order to discuss operations' appropriateness and allow for transfer across domains, we then analyse the different types of space-time cubes, as resulting from different characteristics of the data (Section 7.4 ). Independent from the actual type of data, spacetime cubes can be described, for example, as dense or sparse, containing few or many changes. These characteristics are manifested as 3D structures inside the space-time cube and described in Section 7.3.

For any data set, we assume the space-time cube is given and we can discuss the appropriateness of our operations in creating 2D views from the 3D cube structure, based on (i) the the cube's inner structure, and (ii) on how they apply to the space-time cube.

Static Visualizations as Space-Time Cube Operations

In Section 2.6 of this dissertation I categorized dynamic network visualizations in seven groups: temporal multiples, animated sequences, aggregations, nestings, timelines, egonetworks and space-time cubes. This section shows how visualizations in each of these groups can be described by space-time cube operations, thereby extending each group with examples of visualizations for general temporal data. I also link the operations with those developed throughout this dissertation (Chapters 4, 5 and 6). We focus on a small but representative selection of examples from the literature, and describe operations informally.

Time Cutting

The time cutting operation consists in extracting a particular temporal snapshot from the cube to be presented to the viewer. Figure 7.5(a) illustrates this operation: the left part (1) shows the initial space-time cube and the temporal snapshot that is being extracted, while the right part (2) shows the resulting image that is presented to the viewer.

A time cut in network visualization corresponds to a single picture showing the state of the network at a particular time point, called a time slice, snap shot or time cut. Cubix implements time cutting as the user selects a single time slice and then switches to the time-projection view, or if already in the time-projection view, as the user hovers over a slice label. In GraphDiaries, a single selected time step is shown enlarged in the network view.

However, temporal visualization rarely consists in a single time slice. As we will see in Section 7.2, time cutting, typically, is either performed multiple times and used in combination with other operations, or is used in combination with animation and interaction. For example, in Cubix and GraphDiaries, users interactively navigate between time slices, while GraphDiaries shows animated transitions to convey changes. Animations are used in the majority of other graph visualization systems, already summarized in Section 2.6.2: Marey [START_REF] Friedrich | The marey graph animation tool demo[END_REF], SoNIA [START_REF] Moody | Dynamic Network Visualization: Methods for Meaning with Longitudinal Network Movies[END_REF], Gephi [START_REF] Bastian | Gephi: An open source software for exploring and manipulating networks[END_REF], Visone [START_REF] Brandes | Visone -Analysis and Visualization of Social Networks[END_REF], and TempoVis (J.-W. [START_REF] Ahn | Temporal visualization of social network dynamics: prototypes for nation of neighbors[END_REF].

Time Flattening

Time flattening projects the space-time cube along its time axis, merging all time slices into a single 2D image (Figure 7.5(b)).

Chapter 5 presented designs to compare two graphs using matrices (Figure 7.6(a)). In that particular case the space-time cube contained only two "time slices" and flattening [START_REF] Robertson | Effectiveness of animation in trend visualization[END_REF].

also required a scaling of one of the two matrices in order to obtain the cell patterns required for preattentive visual perception. Cubix provides the time-projection where time vectors superimpose in order to provide a legible picture of the network topology (Figure 7.6(b)). Different color encodings and translucency values for cells allow different information to be aggregated such as accumulated edge weight or time steps in which a node pair is connected (number of edges).

Other network visualizations also make usage of flattening, summarized in Section 2.6.3, and referred to as "aggregations" [START_REF] Chi | Principles for information visualization spreadsheets[END_REF][START_REF] Brandes | Visual Understanding of Metabolic Pathways Across Organisms Using Layout in Two and a Half Dimensions[END_REF][START_REF] Andrews | Visual Graph Comparison[END_REF]van Ham et al., 2009;[START_REF] Gove | NetVisia: Heat Map and Matrix Visualization of Dynamic Social Network Statistics and Content[END_REF][START_REF] Hascoët | Interactive graph matching and visual comparison of graphs and clustered graphs[END_REF].

One of the earliest uses of time flattening to visualize information is Minard's illustration of Napoleon's march towards Moscow (Figure 7.1). The illustration shows on a

(1)

(1)

(1)

(1)

(1)

(1) single image the state of Napoleon's army (position, size, key events) at different points in time during the Russian campaign in 1812 [START_REF] Tufte | Envisioning information[END_REF]. Another early example is Dr. John Snow's map showing where deaths from cholera occurred in London in 1854 (Figure 7.7(a)). Since the map shows multiple events aggregated over time (deaths), it could be seen as a time-flattened space-time cube.

Time flattening has been employed in a large variety of modern information visualization systems as well as static data graphics, and is not limited to geographical data. Figure 7.7(b), shows a Phillips Curve, i.e. a 2D plot of the relationship between unemployment and inflation in a country across several years [START_REF] Tufte | Envisioning information[END_REF]. This diagram can be seen as a time-flattened version of a dynamic 2D scatter plot. The scatterplot has a single data point whose coordinates are the two country indicators and evolve over time. Another example using scatterplots is used in a study by [START_REF] Robertson | Effectiveness of animation in trend visualization[END_REF], shown in Figure 7.7(c). Each colored point refers to a country in one year, while points of the same color indicate a country's trace though time.

Colored Time Flattening

The colored time flattening operation is similar to the time flattening operation, but time slices are assigned a color before being combined (Figure 7.8).

(1)

(1)

(1)

(1) Both flattening techniques in Figure 7.6 use coloring to differentiate between graphs. In Cubix, coloring is used independently from flattening; it is available in all views. Three examples of visualizations obtained by colored time flattening are shown in Figure 7.9: (a) TempoVis fades nodes to gray, which have been in the network for a long time (J.-W. [START_REF] Ahn | Temporal visualization of social network dynamics: prototypes for nation of neighbors[END_REF], (b) Gevol where old links (in red) are distinguished from new links (in blue) [START_REF] Collberg | A system for graph-based visualization of the evolution of software[END_REF], (b) Chinese characters where first strokes (in black) are distinguished from later strokes (in red) (Wikimedia, 2013). Minard's map (Figure 7.1) also makes use of a simplified form of colored time flattening, since the army's forward march and return are distinguished using two different colors.

A special form of coloring is difference encoding, which has been used to compare two graphs [START_REF] Andrews | Visual Graph Comparison[END_REF] or multiple graphs [START_REF] Hascoët | Interactive graph matching and visual comparison of graphs and clustered graphs[END_REF]. GraphDiaries (Chapter 4) includes color highlighting in the transitions, while Chapter 5 shows designs to compare networks with matrices.

Time Juxtaposing

Time juxtaposing consists in extracting multiple time slices from the space-time cube and then placing them side-by-side or on a grid (Figure 7.10).

Cubix and GraphDiaries, both support time juxtaposition. Other examples for networks as summarized in Section 2.6 (Temporal Multiples) are Matrix Flow [START_REF] Perer | MatrixFlow: temporal network visual analytics to track symptom evolution during disease progression[END_REF], Flow Maps [START_REF] Boyandin | A qualitative study on the exploration of temporal changes in flow maps with animation and small-multiples[END_REF], GraphAEL [START_REF] Erten | GraphAEL: Graph animations with evolving layouts[END_REF], and Ploceus [START_REF] Liu | ) Model view to define which nodes (according to node type) and relations should be visible. (b) Multiple views, each showing different nodes and times. Here[END_REF].

Beyond graph visualization, time juxtaposing is often used to show temporal data such as time-evolving maps and trajectories in space. Figure 7.11(a) shows forest harvest data over 11 years. Figure 7.11(b) shows a more complex example of time juxtaposing, where not the entire space, but a detail, is shown for each time step. Additionally, the example uses a flattening for each time step shown in order to visualize trajectories within one location. Time juxtaposing has also been widely used for video summarization [START_REF] Truong | Video abstraction: A systematic review and classification[END_REF].

For spatio-temporal data, time juxtaposing is often referred to as small multiples [START_REF] Collberg | A system for graph-based visualization of the evolution of software[END_REF], although small multiples are not necessarily built from time slices, as for example demonstrated in Cubix, where multiple pictures are used to show node slices. [START_REF] Tang | Exploring video streams using slit-tear visualizations[END_REF].

any time [START_REF] Tufte | Envisioning information[END_REF][START_REF] Marey | La méthode graphique dans les sciences expérimentales et particulièrement en physiologie et en médecine[END_REF]. Again, the cut through space is not a simple plane, since it follows the course or the rails.

More recently, space cutting was shown to be useful for analyzing video logs [START_REF] Tang | Exploring video streams using slit-tear visualizations[END_REF]): Figure 7.13(b) shows a space cut (called tear in the original work) extracted from a video scene, and revealing traffic activity (car count, speed and direction) on a road. The time slice at t 1 is shown to the left, together with the position of the segment extracted. The system is also able to show multiple longitudinal slices on top of each other (i.e. space juxtaposing).

Space Flattening

Space flattening is similar to space cutting, but involves projecting the cube along a particular direction on the data plane instead of extracting a cut (see Figure 7.12(b)). Cubix uses space flattening analog to time flattening, in the node-projection view. Many network visualizations use space flattening, summarized in Section 2.6(Timeline): e.g., Semantic sustrates [START_REF] Shneiderman | Network visualization by semantic substrates[END_REF] or parallel edge splatting [START_REF] Burch | Parallel edge splatting for scalable dynamic graph visualization[END_REF]. In none of the cases, the flattening is "perfect", i.e. additional effort was required to remove node overlap, which would have resulted from simply projecting a 2D node-link diagram. Space flattening for node-link diagrams turns into finding an optimal ordering along the spatial dimension orthogonal to the time axis.

An example of use of space flattening in infovis is the History Flow technique for visualizing document histories [START_REF] Viégas | Studying cooperation and conflict between authors with history flow visualizations[END_REF], illustrated in Figure 7.14(a): the right panel shows the last revision of a Wikipedia article, each color corresponding to a specific contributor. The left visualization shows the history of the article, built by collapsing each article revision into a one-pixel column, and then displaying all columns side-by-side. These operations are equivalent to flattening the article's space-time cube along the x-data axis.

Sampling

Sampling is an operation that consists in extracting space cuts (samples) from a space-time cube at several locations on the data plane, then rotating those samples in-place so they face the viewer (Figure 7 Two visualization techniques based on sampling were mentioned in this chapter's introduction (Figure 7.17). The left example shows the evolution of crime statistics in every US state (N. [START_REF] Andrienko | Interactive visual tools to explore spatio-temporal variation[END_REF]), while the right example shows the evolution of high school population in several districts across three years (Shanbhag,

(1)

(1)

Taxonomy of Space-Time Cube Operations

Some operations are rather simple (e.g., time cutting), while others are more complex (e.g., sampling) and could be described as a combination of several lower-level operations. Yet, some particular techniques such as Semantic Substrates or Maray's train schedule, require particular operations in addition to space flattening, in order to obtain the final 2D visualization.

In this section, we provide a more systematic description of the design space of spacetime cube operations. This design space can be seen as an extension of the ones described for Cubix in Figure 6.4.

Basic Terminology

A space-time operation takes a space-time object and produces another space-time object. A space-time object is a geometrical object within a space-time coordinate system (i.e. two spatial dimensions and one temporal dimension). Possible space-time objects include, but are not limited to:

• space-time volumes (of which a complete space-time cube is an example),

• space-time surfaces (planar and non-planar),

• space-time curves,

• points, as well as • sets of disconnected volumes, surfaces, curves and points.

The ultimate goal of space-time operations is to transform a space-time cube into a space-time object whose shape is compatible with the shape of the media employed to convey the information. By media we mean the visualization's physical presentation, which is the physical object or apparatus that makes a visualization observable to the end user [START_REF] Jansen | An interaction model for visualizations beyond the desktop[END_REF]. In the vast majority of cases (i.e. computer displays and paper) the media has a planar shape.

For a given media, a space-time operation is complete if it takes space-time volumes as input and produces space-time objects whose shape match the media's shape. Otherwise the operation is incomplete: it cannot be used to produce a valid visualization from a space-time cube. Several elementary space-time operations can be chained, in which case they form compound operations. A compound operation is complete if the first operation takes space-time volumes as input, and the last operation produces space-time objects whose shape is compatible with the media.

A Taxonomy of Elementary Space-Time Operations

A taxonomy of elementary space-time operations is shown in Figure 7.18, illustrated by small illustrations. The taxonomy breaks down space-time operations into five main classes:

1. Extraction consists in selecting a subset of a space-time object (e.g., extracting a line or cut from a volume),

3.

Filling consists in turning a set of disconnected space-time objects into a fully connected space-time object, 4. Geometry transformation consists in transforming a space-time object spatially without change of content, 5. Content transformation consists in changing the content of a space-time object without affecting its geometry.

The table in Figure 7.18 shows how general operations break down into more specific operations. On each of the two columns, general operations are on the left while more specific operations are on the right. Operations that are the most specialized (i.e. leaves on the taxonomy tree) are shown on a white background. Operations written in bold are those which produce planar surfaces, i.e. that can be used as final operations on screen-based and paper-based media.

We quickly review the most specialized operations (white background), going from top to bottom on the left column, then on the right column. We also describe the parameters necessary to specify each space-time operation.

Extraction

• Point extraction consists in selecting a specific point inside a space-time volume.

This operation is defined by a 2D position on the data plane and a time value. • Time drilling consists in extracting a line parallel to the time axis. It is uniquely specified by a 2D position on the data plane. • Space drilling extracts a line perpendicular to the time axis. It is specified by a 2D line and a time value. • Oblique drilling consists in extracting an arbitrarily oriented straight line from within a space-time volume. • Planar curvilinear drilling consists in extracting a planar 3D curve from a spacetime volume. This operation, as well as all operations above, is complete for 2D media. • Non-planar curvilinear drilling consists in extracting an arbitrary 3D curve from a space-time volume. It is incomplete, and hence needs to be combined with other operations like flattening or unfolding. • Time cutting consists in extracting a planar cut from a space-time volume in a direction orthogonal to the time axis (cf. Section 7.1.1). It takes as parameter a time value that defines the cut position on the time axis. It is a complete operation for 2D media. • Linear space cutting consists in extracting a planar cut from a space-time volume in a direction orthogonal to the data plane (see Section 7.1.5). It is also complete, and takes as parameter a line or a segment parallel to the data plane that, once extruded over time, defines the cutting surface.

• Oblique cutting consists in extracting a planar cut from a space-time volume that is neither orthogonal to the time axis, nor orthogonal to the data plane [START_REF] Fels | Techniques for interactive video cubism (poster session)[END_REF]. It takes as parameter a 3D cutting plane. • Curvilinear space cutting is similar to linear space cutting except the cutting surface is produced by extruding a curve parallel to the data plane that is neither a line nor a segment. This operation produces non-planar space-time surfaces that further need to be flattened or unfolded. • Time chopping is similar to time cutting but slices have a thickness instead of being infinitely thin. Since it produces volumes, it is not complete for 2D media, and thus needs to be complemented with additional operations. It takes as parameter a time segment that defines the two cutting slabs (a slab is the infinite region between two planes). • Linear space chopping, oblique chopping and curvilinear space chopping are similar to the previous cutting operations, with the difference that they produce volumes with a certain thickness instead of infinitely thin surfaces.

Flattening

• Time flattening aggregates a space-time volume into a plane orthogonal to the time axis (see Section 7.1.2). This operation takes as parameters a time value, a projection function and an aggregation function. The projection function maps 3D points to points on the plane. Examples include orthographic projection and perspective projection. The aggregation function describes how point values are combined. If values are defined in an RGBA color space, the function maps vectors of RGBA colors to a single RGBA color. Examples of such functions include alpha-blending (e.g., averaging all colors) and overplotting (i.e. only keeping the last color) [START_REF] Collberg | A system for graph-based visualization of the evolution of software[END_REF][START_REF] Kapler | Geotime information visualization[END_REF][START_REF] Robertson | Effectiveness of animation in trend visualization[END_REF]. • Space flattening, oblique flattening and non-planar flattening are similar operations, but the surface on which the volume is projected is different (see previous cutting operations for more details) [START_REF] Viégas | Studying cooperation and conflict between authors with history flow visualizations[END_REF].

Filling

• Time interpolation consists in filling "holes" in space-time objects (volumes, surfaces or curves) by interpolating between values along the time axis. It takes as parameter a monovariate interpolation function. For example, a piecewise linear time interpolation operation will transform a set of time slices into a full space-time cube by linearly interpolating the values (e.g., RGBA colors, positions) between pairs of successive time slices. For example, in order to provide fluent animations for dynamic networks, node positions are interplated (e.g., GraphDiaries).

• Space interpolation consists in filling "holes" in space-time objects by interpolating between values on each data plane. It takes as parameter a bivariate interpolation function. For example, a bilinear space interpolation operation will transform a set of lines parallel to the time axis into a full space-time cube. • Volume interpolation consists in filling "holes" in space-time objects by interpolating across both space and time. It takes as parameter a trivariate interpolation function. One example is interpolating video frames using motion estimation techniques [START_REF] Choi | New frame rate up-conversion using bidirectional motion estimation[END_REF].

Geometry Transformation

• Space shifting, time shifting, yaw, roll and pitch consist in moving or rotating space-time objects. They can be used, e.g., for placing multiple cuts side-by-side.

They each take a single scalar value as parameter. • Time scaling and space scaling rescale space-time objects along their principal axes. They take as parameters one and two scalar values respectively, that define the scaling factor. • Bending deforms space-time objects. For example, a space-time volume can be bent such that the time axis follows an arc instead of a line (Daniel & Chen, 2003). This operation takes as parameter a deformation function that maps 3D locations to 3D locations. • Unfolding transforms a non-planar space-time surface into a planar space-time

surface. An analogy is a map projection function that transforms a sphere or portion of sphere into a plane. An example of space-time unfolding is Maray's train schedule (Figure 7.13(a)), which can be seen as an unfolded curvilinear space cut performed on a time-evolving 2D map.

Content Transformation

• Time coloring consists in altering the colors of each time slice according to time [START_REF] Collberg | A system for graph-based visualization of the evolution of software[END_REF][START_REF] Erten | Simultaneous graph drawing: Layout algorithms and visualization schemes[END_REF]. Examples include coloring each time slice uniformly according to a linear color scale (Figure 7.9), changing the hue of each time slice, or dividing the time axis in different regions and applying a discrete color scale (Figure 7.1). • Space coloring alters the color of points in a space-time volume depending on their 2D position on the data plane. • Difference coloring consists in altering the colors of each time slice according to the difference between time slices. One example is highlighting appearing nodes and disappearing nodes in a dynamic graph such as in GraphDiaries (Chapter 4) or [START_REF] Rufiange | Diffani: Visualizing dynamic graphs with a hybrid of difference maps and animation[END_REF]; J.-W. [START_REF] Ahn | Temporal visualization of social network dynamics: prototypes for nation of neighbors[END_REF].

• Time labeling consists in adding time labels to each time slice or to objects inside a space-time volume (Figure 7.7(b)). • Stabilizing consists in repositioning objects on each data plane so that their trajectories are as parallel as possible to the time axis. Examples include computing stable layouts for dynamic networks, summarized in Section 2.7 [START_REF] Erten | GraphAEL: Graph animations with evolving layouts[END_REF][START_REF] Diehl | Preserving the mental map using foresighted layout[END_REF][START_REF] Diehl | Graphs, they are changing -dynamic graph drawing for a sequence of graphs[END_REF] and stabilizing videos [START_REF] Battiato | Sift features tracking for video stabilization[END_REF]). • Bundling consists in repositioning objects on each data plane in order to bring their trajectories closer to each other. One example is bundling air plane routes [START_REF] Hurter | Bundled visualization of dynamic graph and trail data[END_REF]). • Shading consists in altering the color of a space-time volume's content by simulating light propagation mechanisms (e.g., diffusion, specular reflection, drop shadows). • Filtering consists in removing parts of a space-time volume's content. One example is removing all points of a certain color or value as in Cubix (Chapter 6) or in Tardis [START_REF] Carpendale | The Tardis: A Visual Exploraition Environment for Landscape Dynamics[END_REF] and V 3 (Daniel & Chen, 2003). • Aggregation replaces multiple space-time objects by a single, larger space-time object. Different methods exist. For example, 3D kernel density estimation transforms a set of space-time points or space-time curves into 3D volumes or 2D (iso) surfaces [START_REF] Demšar | Space-time density of trajectories: exploring spatio-temporal patterns in movement data[END_REF].

Adaptive and Semantic Operations

Adaptive operations take into account the shape or content of the space-time objects they operate on. For example, an adaptive time cutting operation can cut cubes according to regions with large changes instead of cutting them into regularly-spaced slices. This technique is used, for example, in adaptive video fast-forward [START_REF] Petrovic | Adaptive video fast forward[END_REF]. Similarly, an unfolding operation that works on any surface (as opposed to, e.g., only spheres), would be an adaptive unfolding operation.

Semantic operations take into account the data semantics of the space-time objects they operate on. One example would be a semantic volume interpolation operation, which connects discrete sets of moving objects (e.g. in dynamic scatterplots [START_REF] Rosling | Stats that reshape your worldview[END_REF]) with lines or tubes (see Figure 7.7(b) for another example). This operation is semantic because it needs to know the identity of the objects to be able to match them on successive time slices. Time labeling operations such as the one used in Figure 7.7(b) are also semantic, because they need to know the location of datapoints of interest to place the labels appropriately. Filtering operations can also be semantic, as well as recoloring operations [START_REF] Viégas | Studying cooperation and conflict between authors with history flow visualizations[END_REF][START_REF] Robertson | Effectiveness of animation in trend visualization[END_REF].

Compound Operations

We previously defined compound operations as several operations applied in sequence. According to our taxonomy from Figure 7.18, some of the operations we introduced in Section 7.1 are elementary, namely time cutting, time flattening, space flattening. Others are compound and can be broken down as indicated in Table 7.1. In our notation, the symbol + refers to a composition, the symbol * refers to operations applied multiple times and the symbols [ ] refer to optional operations.

Compound Operation Elementary Operations

Discrete A compound operation inherits the parameters of its sub-operations. For example, a discrete time flattening operation is specified by a sequence of time values, as well as a projection function and an aggregation function. But in practice, most compound operations enforce constraints between their parameters. For example, all space scalings from a time juxtaposing operation are typically the same.

Dynamic Operations

So far we only considered operations (both elementary and compound) that transform a space-time cube into a static visual representation. On computer displays, operations can also be applied in a dynamic manner. Dynamic operations can involve either animation or interaction.

Animation

We refer to animation as the process of applying different operations on a space-time cube over time, or similarly, varying the parameters of an operation over time.

The most common form of animation consists in changing the position of a cutting operation over time, i.e. animated time cutting. This results in the space-time cube content being "played back". For example, if the space-time cube represents a visual scene like video surveillance data, synchronizing the motion of the slice with a clock will result in a real-time playback of the original scene. When significant data is skipped during playback, the animation is closer to a discrete time juxtaposing operation, except slices are shown in sequence instead of being laid out side-by-side.

An animated time cutting operation can be preceded by a filling operation in order to produce smooth animated transitions. Examples for dynamic networks have been given in Section 2.6.2 and in (Chapter 4), but animated time cutting has also been used for scatterplots [START_REF] Rosling | Stats that reshape your worldview[END_REF][START_REF] Robertson | Effectiveness of animation in trend visualization[END_REF]. Most of these examples can be described as semantic volume interpolation + animated time cutting operations. Animated time cutting can also be combined with other space-time operations such as time flattening. For example, Gapminder can combine scatterplot animations with static trails for points of interest (a filtering + time flattening operation) [START_REF] Rosling | Stats that reshape your worldview[END_REF].

While many animation techniques can be described as animated time cutting on static space-time cubes, more elaborate techniques require operations to be applied in real-time. For example, they system by [START_REF] Hurter | Bundled visualization of dynamic graph and trail data[END_REF] uses animated time chopping to animate a network over time while preserving temporal context information. At every animation frame, a time flattening is applied that produces colored trails and a dynamic bundling operation is applied that guarantees a continuous animation without jumping bundles [START_REF] Hurter | Graph bundling by kernel density estimation[END_REF].

Although animated time cutting and its many variants are the most common forms of animation, other animated operations exist. For example, animated 3D rendering can explain a transition between two space-time operations to a user such as used in Cubix when switching between views.

Interaction

Interaction is similar to animation except the changes in the space-time cube operations are under the user's control.

Consider animated time cutting: if the position of the cutting plane is controlled by the user, for example by dragging a slider, instead of being automatically moved, then the operation becomes interactive time cutting. A common implementation of interactive time cutting is the slider on a video player. As with animations, any operation can be made interactive.

GraphDiaries implements particular interaction techniques for interactive time cutting: (a) transitions are possible between non-adjacent time steps, i.e. time cuts are not traversed in the order of time (inter-time step navigation), (ii) transition type and duration are controlled by the user (intra-time step navigation).

In Cubix most of the operations are interactive. (i) Time cutting, as well as space cutting is performed and parameterized interactively when leafing through nodes (cf. Section 6. time window to be moved "through the cube". Further interactive operations in Cubix include (iii) the rotation of slices, a compound operation that consists of a space or time cutting + yaw, while (iv) tilting the Matrix Cube is a single yaw on the entire cube by a very small degree. Finally, Cubix allows for various (v) interactive filter mechanisms, summarized in Section 6.4.

The Inner Structure of Space-Time Cubes

So far we considered space-time cubes as monolithic 3-dimensional entities. However, two space-time cubes can look very different, depending on (a) the data that is visualized: migration of animals, earthquakes, changes in vegetation and ecosystems, dynamic networks, surveillance videos, or scatterplots, and (b) the data's characteristics. The way a space-time cube "looks" will be referred to as its inner structure and can be described independently from the actual data. As we discuss in Section 7.4, inner structure is an important factor when choosing and discussing space-time operations, because it influences each operation's efficiency.

Decomposing Space-Time Cubes

We assume that any space-time cube can be subdivided into lower-level space-time objects.

A common example is a set of 3D curves or tubes generated by moving objects such as cars, persons, nodes in a network, or points in a scatterplot, illustrated in the first row in Figure 7.19 (In the following we use circled numbers to refer to the cases in Figure 7.19). These curves can yield different patterns depending on the data ( 1 -4 ). A second typical structure is obtained from dense matrix data such as videos, temperature maps or Matrix Cubes ( 5 -8 ). For these datasets, the object of interest (e.g., a pixel or a matrix cell) is fixed in space but its attributes change through the time dimension. Again, different patterns of variation are possible such as between 5 and 6 .

A space-time cube can often be subdivided in different ways. For example, pixels with an alpha channel can yield higher-level space-time objects with intervening spaces: 7 could be obtained by filtering a pixel-based landscape visualization according to the type of vegetation, while 8 could be obtained by isolating bush fires [START_REF] Carpendale | The Tardis: A Visual Exploraition Environment for Landscape Dynamics[END_REF]. Alternatively, optical flow can be extracted from a video, which would yield a structure more similar to cases 1 -4 . Conversely, any animated visualization could be turned into a video and yield a structure similar to cases 5 and 6 . These are all different ways of looking at a space-time cube. Ideally, however, the focus should not be on the specific decomposition used, but rather on the overall properties of the inner structure. properties: density, variability in position, and whether moving objects or matrix data is visualized. However, many more structures are possible. For example, moving objects can change in color or shape over time [START_REF] Dwyer | Visualising a fund manager flow graph with columns and worms[END_REF], or disappear and reappear. However, four dimensions are however enough to capture the most important properties of inner structures, namely: density, variability in positions, variability in visual attributes, and object lifespan. We review them here.

Dimensions of Inner Structures

Density

The density of a space-time cube refers to how much non-empty space it contains. The inner structure of a space-time cube can be dense such as in cases 1 2 5 6 or sparse such as in 3 4 7 8 .

Datasets like videos, and potentially Matrix Cubes ( 5 6 ) produce inner structures that are maximally dense, and which will be referred to as complete. Dense and complete cubes are often transformed into sparser cubes ( 7 8 ), by filtering elements (e.g., Cubix, Tardis [START_REF] Carpendale | The Tardis: A Visual Exploraition Environment for Landscape Dynamics[END_REF]). Furthermore, a space-time cube can be spatially dense but temporally sparse (e.g., incomplete video data, or networks with a few dense time steps, cf. Figure 6.22), or vice versa (e.g., a GPS log over several days, a sparse network with many permanent connections). Density is a key property of inner structures, and it is the only dimension that is independent from the decomposition used.

Variability in positions

This dimension refers to the amount of motion that 2D objects undergo in the space-time cube, which in turn affects the shape of the 3D space-time objects that make up its inner structure.

For example, 3 (which could be four moving people) involves rather straight curves, while case 4 (which could be moving cars) produces more spaghetti-like curves. In networks, 4 uses an unstabilized layout, while 3 has been stabilized (cf. Section 2.7). Matrix data ( 5 -8 ) yield zero variability in positions, since pixels are fixed and spacetime objects are parallel with the time axis. However, using an optical flow decomposition, case 6 would exhibit more variability in position than case 5 .

Variability in visual attributes

This dimension refers to the amount of changes on the objects' visual attributes, such as color and size.

For example the pixels in 5 and 6 (which could be pixels in a video or cells in a Matrix Cube) change in color, with a much higher variability in 6 . In contrast, moving objects in 1 -4 have fixed shape and color (black lines) and therefore exhibit no variability in visual attributes. There would be variability in visual attributes if, for example, objects were moving taxis and their color or radius would encode the number of customers they carry. Likewise, size and cells in time vectors in a Matrix Cube can exhibit changing edge weight over time as in 7 (see Figure 6.17(d)). 8 involves "blobs" moving over time, which can be bushfires or clusters in a network (cf. Figure 6.8(a)).

Object lifespan

Object lifespan refers to how long space-time objects persist, which has an influence on the portion of the time axis covered by the 3D space-time objects. The lifespan is maximum when all objects span the entire time axis. Regular matrix data also yields a maximum lifespan.

Objects with a long lifespan can be permanent connections in a network (e.g, trading flows) 5 -7 or taxis moving in a city 1 -4 . In contrast, objects can reflect events that have a start and an end such as in earth quakes. Events without any duration produce the shortest possible lifespans, and yield inner structures consisting of points (Figure 7.20). Since objects do not persist, there is no variability in position or visual attributes.

Examples of Space-Time Cubes

This section describes representative examples of space-time cubes, showing different data sets, created with different visualization systems. Yet, the cubes' inner structure can be described by the properties of the space-time objects.

Earthquakes

The cube in Figure 7.20(a) is sparse and objects have zero lifespan. They further vary in size, but in no other visual attributes. The cube resembles 8 in Figure 7.19.

3D node-link diagram

The dynamic network in Figure 7. 20(b) shows nodes as columns and links as bridges between columns. The cube is relatively sparse, objects have different lifespans; nodes have maximal lifespan while links have zero lifespan and appear for a single instant only. Nodes can be described as moving objects. However, node positions have been stabilized and there is no variability in position but high variability in visual attributes (color, radius). The example resembles 1 .

People's trajectories Figure 7.20(c) shows peoples' trajectories (moving objects), discriminated by color (space coloring). Objects also have maximal lifespan, do not vary in visual attributes, and show high variability in position. While generally the cube appears sparse, its center is quite dense. The cube resembles 4 , or 2 .

Antenna communication in the Matrix Cube

The data set in the Matrix Cube in Figure 7.20(d) is complete and resembles 5 . The cube contains matrix data, i.e. there is no variability in position. However, cells in time vectors along the time dimension vary in size and color (edge weight), and since the cube is complete, time vectors have maximal lifespan.

Brain connectivity Figure 7.20(e) shows also a complete cube of location values with maximal lifespan and no variability in position, but with high variability in visual attributes. It resembles 6 .

Surveillance video Figure 7.20(f) is an example of a video cube, but only changing pixels have been kept, the others have been removed (the cube shows two people passing a door). The video cube is made of pixels, hence shows location values. There is relatively high variability in visual attributes, resembling 8 .

In the next section we will see why these characteristics matter, and how the inner structure of a space-time cube can be altered with space-time operations.

Which Operations to Chose?

So far, this chapter focused on the descriptive function of our framework: the different types of operations, how they can be combined and made dynamic, and the inner structure of space-time cubes. We now have all the elements to discuss the practical strengths and weaknesses of space-time operations. This section extends the previous discussions in this dissertation (mainly Sections 2.8 and 4.1) by using the framework introduced in this chapter and considering studies beyond the scope of dynamic networks. The discussion in this section aims to support the choice of operations when designing visualizations or researching novel visualization techniques to leverage the strengths and overcome the drawbacks of the space-time operations.

Empirical Evaluations

Studies related to dynamic network visualizations have been discussed in Chapter 2 (Section 2.8). These studies showed that time-juxtaposing is to be preferred for small networks with few time steps. [START_REF] Robertson | Effectiveness of animation in trend visualization[END_REF] showed that animations performed least but were encouraging and fun to watch for participants.

In Chapter 4 we showed that time interpolation and animated time cutting significantly improve users' performance, compared to simple time-cutting without animation. Differ-ence coloring and improved temporal navigation further improved users' performance as well as resulted in much more positive feedback. The tested data sets were much larger and denser than in previous studies. Object lifetime was short for some nodes, long for others.

In Chapter 5 we compared node-link diagrams with time coloring (each graph had an individual color) and matrices with space scaling and space transformation, both in combination with time flattening. Node-link diagrams represent the network using moving objects, while matrices represent the network using location values. Both representations were stabilized, i.e. node and edge positions were exactly the same in both networks. We found that matrices perform much better than node-link diagrams.

Beyond dynamic networks, studies have been conducted on data about moving objects as well as with location values with minimal lifespan [START_REF] Kjellin | Different levels of 3D: An evaluation of visualized discrete spatiotemporal data in space-time cubes[END_REF]. The studies majorly compared time flattening against 3D rendering and sometimes animated time cutting. On a data set of four people moving through space, [START_REF] Kristensson | An evaluation of space time cube representation of spatiotemporal patterns[END_REF] compared 3D rendering with shading against time flattening, while using space coloring (each person had an individual color). In summary, the results show that for simple tasks, time flattening performed better, while 3D rendering was better for more complex tasks.

A study by Willems, van de Wetering, and van Wijk ( 2011) compared (non-interactive) animated time cutting with 3D rendering and an enhanced version of time flattening described earlier by same authors [START_REF] Willems | Visualization of vessel movements[END_REF]. Results across three different tasks showed that overall, each technique was best for one task. The study lists many exceptions, depending on data density, and variability in position. Animated time cutting was reported to be the least robust to a high variability in position.

For the number of objects, Willems et al. report that 3D rendering was least scalable, while animated time cutting performed best. [START_REF] Kveladze | What do we know about the space-time cube from cartographic and usability perspective[END_REF] conduced a participatory design session with experts in geography, analysing movement patterns in 3D renderings. The study aimed in investigating proper designs for people's trajectories to encode attributes such as gender and income. Experts reported that shading and mapping attributes to trajectory thickness cluttered the visualization. Instead, they suggested space coloring in order to better distinguish people. The data contained about 203 trajectories of commuters in a single city and compared to time flattening, experts found time flattening (showing a map of the city) too overloaded. However, experts further reported that 3D rendering "helps in earlier stages of the research to get some hints about the data"2 .

In the case of dynamic networks, only a small subset of all possible operations have been covered by the mentioned studies; time juxtaposing, animated time cutting, as well as time flattening and sometimes 3D renderings. Tasks and implementation are different across studies, which makes it difficult to compare them. While study results are already diverging for the case of dynamic networks, many of the existing findings are hard to generalize beyond the domain, type of data, and operation parameters used in the stimuli.

Using our framework, with its ability to reduce complex techniques into elementary operations and describe the inner structure of space-time cubes, we now discuss operations on a general level, driven by general knowledge on visual perception and on common sense. Where appropriate, we refer to the listed studies throughout our discussion.

3D Rendering

3D rendering ([shading] + oblique flattening) is the operation most commonly associated with the space-time cube concept. The major difficulties of 3D visualizations [START_REF] Shneiderman | Why not make interfaces better than 3D reality[END_REF] include (i) occlusion, (ii) depth ambiguity, (iii) perspective distortion, (iv) color distortion and (v) navigation difficulties. There are further discussed below. However, 3D rendering can be useful for providing a general overview of a space-time cube's inner structure (density, variability and object lifespan). It is also the most effective approach when the goal is to have observers explicitly think in terms of a space-time cube by conveying the metaphor, and for an initial overview of the data (cf. [START_REF] Kveladze | What do we know about the space-time cube from cartographic and usability perspective[END_REF].

Occlusion issues are due to the use of a flattening operation together with an overplotting aggregation function (i.e., near objects are drawn on top of far objects). The amount of occlusion depends on the density of the inner structure. Therefore, 3D rendering should mostly be adapted to sparse structures (cf. [START_REF] Willems | Evaluation of the visibility of vessel movement features in trajectory visualizations[END_REF][START_REF] Kveladze | What do we know about the space-time cube from cartographic and usability perspective[END_REF]. Additional space-time operations should be employed for visualizing dense (and sometimes complete) structures. An effective technique involves sparsifying the cube's structure using interactive filtering, such as in Cubix.

A related approach involves the use of translucency filtering or more generally, translucent space-time objects. However, translucency produces visual clutter without fully addressing the problem of occlusion, and we found few instances of this technique yielding legible results. Also, occlusion is an important depth cue [START_REF] Wanger | Perceiving spatial relationships in computer-generated images[END_REF][START_REF] Kjellin | Different levels of 3D: An evaluation of visualized discrete spatiotemporal data in space-time cubes[END_REF] that is mostly lost when translucency is employed. For similar reasons, we recommend against making the whole space-time cube translucent -or equivalently, using an alpha blending aggregation function in combination with 3D rendering. Elaborate interactive operations exist that can decompose a spacetime cube using extraction and rigid transformation operations, and allow users to look inside (Cowperthwaite, Carpendale, & Fracchia, 1996).

Depth ambiguity is further caused by the use of a flattening operation in 3D space. In the real world, most depth ambiguities are resolved through stereoscopic vision and structure from motion [START_REF] Todd | The visual perception of 3D shape[END_REF][START_REF] Wanger | Perceiving spatial relationships in computer-generated images[END_REF], also there is evidence that stereoscopic displays do not improve performance for point clouds [START_REF] Kjellin | Different levels of 3D: An evaluation of visualized discrete spatiotemporal data in space-time cubes[END_REF].

Structure from motion is as powerful as stereoscopic vision [START_REF] Todd | The visual perception of 3D shape[END_REF], and this is why 3D rendering is the most effective when the space-time cube is allowed to rotate through animated or interactive 3D rendering. Incidentally, being able to "look behind" space-time objects also mitigates occlusion problems. When interaction cannot be used (e.g., on paper media), static depth cues are important. One approach for structures with no or very low variability in position is to have space-time objects "touch" the ground. This is already the case for structures with maximum object lifespans such as in Figure 7.20(b). For short object lifespans like in Figure 7. 20(a), it is advised to either add lines connecting objects to the ground [START_REF] Kapler | Geotime information visualization[END_REF] or add drop shadows [START_REF] Wanger | Perceiving spatial relationships in computer-generated images[END_REF][START_REF] Turdukulov | Designing a visual environment for exploration of time series of remote sensing data: In search for convective clouds[END_REF] by applying a shading operation with perpendicular lighting.

Perspective distortion is due to the use of a perspective projection function: far objects appear smaller than near objects, making it difficult to accurately compare sizes and lengths. This issue can be eliminated with the use of an ortographic projection function instead. However, doing so will eliminate an important depth cue and may produce depth reversals analogous to the necker cube illusion [START_REF] Wanger | Perceiving spatial relationships in computer-generated images[END_REF]. Again, this type of ambiguity can be alleviated by the use of other depth cues such as occlusion, contact and shading.

Color distortion is a side-effect of the shading operation, since it alters the color of the space-time objects. This is not a problem when color is not encoding information or when simple color scales are used as in Figure 7.20(b), but could be an issue when numerical data is encoded through brightness. Yet, [START_REF] Kveladze | What do we know about the space-time cube from cartographic and usability perspective[END_REF] suggest to use not too many visual encodings on space-time cube objects.

Navigation difficulties with 3D visualizations are due to the oblique flattening operation having too many degrees of freedom. One way to facilitate navigation is to add constraints, i.e., only let users manipulate 3D renderings in ways that are essential to their task [START_REF] Smith | 3d scene manipulation with 2d devices and constraints[END_REF][START_REF] Shneiderman | Why not make interfaces better than 3D reality[END_REF], or restrict interaction so as to allow only for rotation around the y-axis. Restricting users freedom of interactions was one of the design goals for Cubix, leading us to use fixed views with easy navigation between them. Generally speaking, space-time cubes are a convenient conceptual tool for thinking about temporal visualizations, but explicitly showing them using 3D rendering poses a number of problems and should be done only when necessary (e.g, for showing an overview or for explanatory purposes). Computer screens and paper are 2D media, and are optimized for 2D visualizations [START_REF] Shneiderman | Why not make interfaces better than 3D reality[END_REF]. As we have already seen, many 2D solutions exist to show temporal data.

Time Flattening

Time flattening (Figure 7.5(b)) can be seen as a 2D technique, or as a specific form of 3D rendering projecting orthogonally on the data plane, as implemented in Cubix. Time flattening essentially turns a space-time cube into a spatial visualization: each point on the resulting image shows the history of this point aggregated over time. As a result, spatial relationships and trends are preserved and are clearly visible, such as the path of Napoleon's army in Figure 7.1 or the distribution of data values in Figure 7.7(b). Any aggregation function can be used, including alpha-blending for showing averages, or more elaborate techniques for showing cumulative statistics (Figure 7.7(a)).

The major drawback of time flattening is that it reduces the time axis to a point (Figure 7.5(b)), so most temporal information is lost, including the ordering of events (cf. [START_REF] Willems | Evaluation of the visibility of vessel movement features in trajectory visualizations[END_REF], temporal intervals, and absolute timestamps. However, part of this information can sometimes be cognitively reconstructed from object trajectories. For example, when reading Napoleon's march (Figure 7.1), one knows that an army does not jump between random locations but progresses smoothly, so not all orderings of events are plausible. Knowing that an army generally shrinks in size is then enough to infer its direction of motion: eastward then westward.

For flattened trajectories to be legible and informative, the space-time cube needs to be spatially sparse (cf. [START_REF] Kveladze | What do we know about the space-time cube from cartographic and usability perspective[END_REF], with long object lifespans, and exhibit a reasonable amount of variability in positions. If an object's color is not used to encode domain-specific attributes, time coloring (Figure 7.9) can be used. This operation has the additional advantage of explicitly encoding time. However, color is a poor visual attribute since the human visual system cannot discriminate between many colors [START_REF] Conti | Attacking information visualization system usability overloading and deceiving the human[END_REF], and no color scale exists that naturally maps to time. If time intervals (or object speeds) are more important than absolute times, a more effective approach is to change the color or shape of objects at regular time intervals.

Another prominent problem of time flattening becomes evident in the Matrix Cube. Since there is no variability in position, i.e. objects (time vectors) do not appear as traces, as for example, in scatterplots (Figure 7.7(c)). This makes it impossible to communicate when, or when not, a space-time cube object is present at a particular position, since all objects overlap equally. In Cubix, cells are still visible, if they vary in size (edge weight). Otherwise, the tilting operation allows a quick preview, if cells are not too big.

Discrete time flattening (time cutting* + time flattening) is a variant that can also clearly expose time intervals and object speeds. Since this technique can result in loss of information, it works best for structures that are sparse in time or exhibit low variability. The way time cuts are placed on the cube is important; equidistant cuts generally expose relative times, durations, and rates of change. When not all cuts are equally informative, non-equidistant cuts may be preferred, but at the cost of loosing most of this temporal information. If cuts are chosen so that objects do not overlap, these objects become clearly visible.

Additional operations can be applied to a space-time cube in order to reintroduce missing time information. For example, the Phillips curve in Figure 7.7(b) uses semantic volume interpolation to connect points and show their ordering. Both Figure 7.7(b) and Figure 7.1 (for the army's return trip) employ time labelling to explicitly convey event timestamps. However, since time labelling increases the number of visual elements on the screen, it should be used with care and may be inappropriate if many visual objects are shown already (Figure 7.7(c)). Moreover, time labelling is less useful to relate object position at the same time, since this requires reading labels which does not happen preattentively. In contrast, color is a preattentive visual variable.

In summary, time flattening is an operation that produces easy-to-interpret visualizations: space simply maps to space. It is useful for showing data patterns aggregated over time. But since it collapses the time axis into a point, it is most powerful when it can leverage humans' ability to reconstruct time from trajectories. This often requires the use of additional space-time operations and a very careful visual design.

Space Flattening

Space flattening (Figure 7.12(b)) is another form of orthogonal flattening that does not suffer from the drawbacks of regular 3D rendering. The orthogonal projection function creates a meaningful spatial encoding, since one axis maps to time while the other axis maps to space.

Space flattening is effective when both time and space are important, and there is a meaningful mapping from the 2D data plane to a 1D line. For example, in order to be meaningful, time flattening in node-link diagrams requires a technique for node overlap removal or any other technique that orders nodes along a line (cf. Section 2.6.5). However, it produces visualizations that are generally less easy to interpret when the data plane does not have a natural coordinates system (e.g., in a node-link diagram or on a map), but may work well in cases that visualize location values, such as Cubix.

Time Cutting

So far we covered the different types of flattening techniques. These techniques essentially aggregate the data in a space-time cube and are helpful for overview tasks, but fail at providing details. Among the extraction techniques, time cutting is by far the most common, although mostly used in combination with time interpolation and/or interaction. A single time cut provides a clean and fully detailed snapshot of a particular time stamp. This is useful if the cube is spatially and temporally dense, since the entire screen is available for visualization and only a single time is shown.

However, since the goal of a temporal visualization is to show information across time, more than one time cut must be shown. We already mentioned discrete time flattening as a possible approach, although it still suffers from the drawbacks of aggregation. Two aggregation-free alternatives are time juxtaposing and animated time cutting. We review them separately.

Time Juxtaposing

Time juxtaposing ({time cutting + space scaling + space shifting}* + time flattening) allows to show different time cuts simultaneously. Usually, space shifting follows the occidental convention of laying out time cuts either linearly from left to right, or on 2D from left to right then top to bottom [START_REF] Mccloud | Understanding comics[END_REF].

The main advantage of time juxtaposing over flattening is the legibility of individual time cuts due to the absence of occlusion, and the ability to compare distant time steps (cf. [START_REF] Slocum | Qualitative evaluation of MapTime, a program for exploring spatiotemporal point data[END_REF]Farrugia & Quigley, 2011). But the need for selecting time cuts generally means a loss in temporal resolution. Time juxtaposing is therefore mostly recommended for space-time cubes that are both spatially dense but temporally sparse. However, the space scaling operation also has the effect of shrinking time cuts (cf. [START_REF] Boyandin | A qualitative study on the exploration of temporal changes in flow maps with animation and small-multiples[END_REF]Farrugia & Quigley, 2011)): the more cuts are shown, the less space -and therefore resolution -every cut has. The time juxtaposing operation therefore requires finding the best trade-off between spatial and temporal resolution.

A potentially serious drawback of time juxtaposing is that time cuts use inconsistent spatial coordinate systems, due to the space shifting operation. This can make it difficult or impossible to relate moving objects across time cuts (cf. Archambault et al., 2011a). Hence, tracking elements or understanding trends can be hard. However, if objects on a time cut can be distinguished by their visual appearance and have a consistent appearance across time (i.e., low variability in visual attributes and possibly in position), relating time cuts becomes possible (cf. [START_REF] Boyandin | A qualitative study on the exploration of temporal changes in flow maps with animation and small-multiples[END_REF]). With few objects and preattentive visual encodings [START_REF] Ware | Information visualization: Perception for design[END_REF], relating cuts can be effortless. If not, it may still require visual search, split attention, and cognitive effort. One way of alleviating this problem is through interaction, by adding brushing and linking support [START_REF] Becker | Brushing scatterplots[END_REF].

Like with discrete time flattening, the proper choice of time cuts is crucial with time juxtaposing, with the difference that granularity also affects spatial resolution. Again, equidistant cuts are better at preserving temporal information. But when not all cuts are equally informative, non-equidistant cuts (i.e., semantic time cutting) may be preferred. For example, when showing changes in territory, historical atlases and newspapers often employ this technique to emphasize different periods and historical events (Figure 7.21). Individual dates typically need to be added (i.e., time labelling) to reintroduce the missing time information.

Animated and Interactive Time Cutting

Animated time cutting inherits the benefits of time cutting compared to flattening in that no aggregation is done, time cuts can therefore be seen clearly, without occlusion. In contrast with time juxtaposing, animated time cutting does not suffer from the reduced spatial resolution due to space scaling: each time cut spans the whole visualization and show more objects.

Moreover, it benefits from a much higher temporal resolution. Although time cuts may still need to be selected (if, e.g., the animation's duration must be short), many of them can be typically shown (e.g., 60 in only one second on a 60Hz display). Animated timer cutting is therefore mostly recommended for spatially and temporally dense structures but low or medium variability in position. If variability is too high, time interpolation or volume interpolation need to be used to produce smooth animated transitions, such as studies in Chapter 4; changes can also be highlighted (e.g., through a difference coloring operation) in order to facilitate their detection and interpretation.

Animated time cutting can be extremely effective for revealing changes between successive cuts, as our visual system is equipped for preattentively detecting visual changes [START_REF] Bartram | Perceptual and interpretative properties of motion for information visualization[END_REF]. Ideally, objects' trajectories on the screen are smooth across time cuts and do no change abruptly (cf. [START_REF] Willems | Evaluation of the visibility of vessel movement features in trajectory visualizations[END_REF].

While comparative studies are missing, the study in Chapter 4 shows that animation helps to understand more complex changes occurring across sequences of several time cuts, under a range of variabilities in position and in visual attributes. Our perceptual ability to detect and interpret changes, however, requires the absence of visual discontinuities (e.g., flicker) between time cuts of interest [START_REF] Rensink | Change detection[END_REF], and ideally, that successive time cuts are similar enough to be visually integrated and perceived as a motion [START_REF] Feldman | Individuation of visual objects over time[END_REF].

One drawback of animated time cutting is that an animation takes time, especially if the structure is temporally dense (e.g., a surveillance video). Additionally, users have to watch the entire sequence of time cuts, to get an overview over the data, a fact that users may complain about (cf. Archambault et al., 2011a;[START_REF] Robertson | Effectiveness of animation in trend visualization[END_REF]Farrugia & Quigley, 2011).

As with previous techniques, semantic time cutting can be used to speed up the playback when not all time cuts are equally informative [START_REF] Petrovic | Adaptive video fast forward[END_REF]. A related drawback is that since time cuts are not shown simultaneously, they cannot be freely accessed [START_REF] Tversky | Animation: Can it Facilitate?[END_REF]. This makes it difficult to carry out many types of exploratory tasks, such as comparing two non-successive cuts, or examining a cut in context with other cuts. To overcome this issue, we enabled navigation and transition between non-adjacent time steps in GraphDiaries. However, comparison is still limited to two time cuts.

Finally, both animated and interactive time slicing can only be used on dynamic displays, whereas all previous methods are compatible with static media such as newspapers.

The controversy about all these operations is far from being settled. Most likely, the respective advantages of both techniques depend not only on the task, but also on the type of dataset and on the specific operations used. For example, employing smooth transitions (an interpolation operation) or giving subjects control over animations (interactive time cutting) can make a difference. Also, different datasets may produce widely different inner structures, and dramatically influence the efficiency of both techniques. By clarifying these differences and providing a terminology to describe them, we hope that our framework will help design more informative user studies.

Stabilization

The stabilization operation can be used to complement several of the previously seen approaches. While interpolation allows to produce smooth transitions between predefined time cuts, stabilization allows to reduce variability in position when positions do not encode data. Although it may reduce the legibility of trajectories when using time flattening, this technique may facilitate object tracking tasks in animated time cutting and object mapping tasks in time juxtaposing. Stabilization also has an effect in space flattening and space cutting, where it keeps object positions stable on the y-axis. Stabilization is mostly used in dynamic graph drawing under the term "mental map preservation", summarized in Section 2.7.

Other operations

We discussed the benefits and drawbacks of space-time operations commonly used for visualizing temporal data. As suggested by our framework (the elementary operation taxonomy in Figure 7.18 and the different ways to combine them), a possibly infinite variety of operations exist and it is impossible to analyze them all. It is likely that among all possible operations, the least constrained ones such as oblique and non-planar operations, are the most difficult to read and to interpret.

In fact, often used approaches are particular in that they mostly involve orthogonal operations, especially along the time axis (i.e., time flattening and time cutting). One striking exception is 3D rendering, which combines several complex operations to emulate how we perceive solid objects in the real world, and therefore produces familiar (but sometimes illegible) images.

However, it is also likely that the immense design space of space-time cube operations contains techniques that are hard to understand in the beginning and must be learned, but can yield unique benefits for specific temporal data analysis tasks that usefully complement standard approaches. In providing a framework for even more experimental techniques, we want to stress the importance of research in novel temporal visualization techniques. By discussing the multiple trade-offs involved in known techniques and explaining how these trade-offs originate from the intrinsic properties of elementary operations, we hope that our framework will be able to guide designers and accelerate future discoveries. Another promising line of work consists in supporting multiple space-time cube operations such as in Cubix, and as discussed in the next section.

Space-Time Cube Systems

We have shown that the choice of the best space-time operation depends on many factors and always involves tradeoffs: there is not a single "best" approach. In this section we review visualization systems that address this tradeoff by supporting multiple space-time operations, comparable to Cubix. Such systems almost invariably use 3D rendering as an explicit representation of the space-time cube, both for showing an overview and for explaining how different operations relate. We call these systems space-time cube systems. Because these systems work by letting users switch between different operations and tune their parameters, interaction is a central feature.

Space-Time Cubes for Exploration

Hägerstrand's intention with the space-time cube was to provide a thinking and analysis tool, not envisioning actual graphical usage due to missing graphical capabilities [START_REF] Kraak | The Space-Time Cube revisited from a Geovisualization Perspective[END_REF]. About 30 years later, another geographer, [START_REF] Kraak | The Space-Time Cube revisited from a Geovisualization Perspective[END_REF] described the potential of the space-time cube in a viewing environment with "interaction, dynamics and alternative views"3 . These multiple coordinated views (Figure 7.22) comprise four main views. The working view (Figure 7.22 right) shows a region of the geographical space and a certain time span (creating a sub-cube). The 2d-view (top left) shows a map with the projected Figure 7.22.: Interface for space-time cube exploration as described by [START_REF] Kraak | The Space-Time Cube revisited from a Geovisualization Perspective[END_REF] trajectories, and the 3d-view (center left) shows all the data, much like an overview portal. Red boundaries indicate the location of the sub cube4 , shown on the right. GeoTime is a carefully-designed commercial system for analyzing geotemporal data [START_REF] Kapler | Geotime information visualization[END_REF]. Events are shown as spheres on a 3D rendering view that can be freely rotated (Figure 7.24(a)). This view also uses a reference plane, and a semantic volume interpolation operation is applied to indicate event ordering. Geotime implements Kraak's concept of detail [START_REF] Kraak | The Space-Time Cube revisited from a Geovisualization Perspective[END_REF] as users zoom and pan in space and time. Dragging the timeline allows for interactive time chopping by defining size and position of time chopping. A zoom on the timeline results in time scaling. Similar, pan & zoom in space allows for space chopping + space scaling.

CommonGIS

GeoTime further supports time flattening and space flattening. Figure 7.24(b) shows a space flattening view where time runs from top to bottom, and a reference plane is provided that can be rotated. This reference plane shows a space flattening. Events in both flattening views are connected through thin gray lines.

Tardis

Tardis [START_REF] Carpendale | The Tardis: A Visual Exploraition Environment for Landscape Dynamics[END_REF][START_REF] Carpendale | Case study: visual access for landscape event based temporal data[END_REF] is a system for visualizing environmental data using 3D rendering in combination with advanced space-time operations. While CommonGIS and Geotime are made for the visualization of movement data and sparse cubes, Tardis aims are visualizing matrix data that is complete (Figure 7.25(a)). Voxels are color-coded depending on the type of vegetation, its age, soil characteristics or the presence of bush fires.

To sparsify the cube, Tardis implements interactive semantic filtering: users can, e.g., select a particular type of vegetation or bushfires (Figure 7.25(b)). In addition, Tardis supports interactive orthogonal cutting, but in contrast with our previous examples, cutting is always used in combination with 3D rendering. Users can define and manipulate [START_REF] Carpendale | Case study: visual access for landscape event based temporal data[END_REF].

multiple orthogonal cutting planes, illustrated in (Figure 7.25(c)). Further operations include opening the cube like a book (interactive (volume extraction + rotation)*) (Figure 7.25(a)) or apply a 3D fisheye effect (interactive (volume extraction + translation)*). This fisheye effect, called "Visual Access Distortion" [START_REF] Cowperthwaite | Visual access for 3d data[END_REF], pushes away voxels from the cursor (Figure 7.25(d)) [START_REF] Carpendale | Case study: visual access for landscape event based temporal data[END_REF] so as to make inner voxels visible.

In the inner structure of the data, Tardis is comparable to Cubix, and in fact employs similar operations. Interactions are all performed manually and no predefined views exist. Also, Tardis does not support operations such as time juxtaposing and space juxtaposing nor flattening.

Video Cube Systems

Space-time cubes for video analysis result from stacking all the video frames in their temporal order. As in Tardis, the resulting cubes are dense, and sophisticated algorithms have been developed to recognize and track moving objects, for example to analyse video surveillance material (Daniel & Chen, 2003;[START_REF] Botchen | Action-based multifield video visualization[END_REF] and annotate videos [START_REF] Mackay | DIVA: Exploratory data analysis with multimedia streams[END_REF].

Diva displays an isometric 3D rendering, while interactive time cutting allows for exploration of the individual video frames. Frames are annoted by colored tabs (Figure 7.26(a)) which remain visible at the cube's sides and indicate where frames have been annotated the same way. Video Cubism [START_REF] Fels | Techniques for interactive video cubism (poster session)[END_REF] uses a more unconventional way of exploration by interactive oblique cutting, shown in Figure 7.26(b). Similary, Khronos projector (Cassinelli & Ishikawa, 2005) manipulates the cube in a non-planar cutting, using touch and mid-air gestures (Figure 7.26(c)). By pointing into the video frame, the frame is "bended" into time, changing the shown time for parts of the video. V 3 (Volume Visualization for Videos) by [START_REF] Daniel | Video visualization[END_REF], supports different operations, including time juxtaposing and a 3D rendering view that can be combined with a bending operation (Figure 7.26(d)). V 3 also supports filtering operations that allow to remove pixels of a certain color, or pixels that do not change across a given time period.

VISUAL-TimePAcTS

VISUAL-TimePAcTS is a system for analyzing activity diaries [START_REF] Vrotsou | 2D and 3D representations for feature recognition in time geographical diary data[END_REF]. It uses non-geographical space-time cubes. The cube's two data axes can be mapped to data dimensions such as individuals, locations, or activities. We focus on the case where one axis maps to individuals while the other axis maps to activities. Activities are also encoded using color.

VISUAL-TimePAcTS supports linear space flattening on both data axes. Figure 7.27(a) shows 6 individuals (horizontal axis) and their activities (colors) across time (vertical axis). Figure 7.27(c) shows the evolution of activities aggregated across all people over time. VISUAL-TimePAcTS supports a seamless transition between the two operations through interactive 3D rendering (Figure 7.27(c)). Since 3D rendering employs orthographic projection and no shading, it is essentially an oblique flattening operation.

VISUAL-TimePAcTS supports a more elaborate space-time operation that prevents visual marks from overlapping due to flattening. In Figure 7.27(c), for example, individuals are horizontally offset when several of them do the same activity at the same time. This technique is similar to the tilt in Cubix and is called shearing by the authors, and is illustrated in Figures 7.27(d),7.27(e). This technique is essentially a (linear space cutting + space offset)* + space flattening operation, and is a hybrid between space juxtaposing and space flattening.

Discussion

This section briefly discusses our model with respect to the Information Pipeline by [START_REF] Card | Readings in Information Visualization, Using Vision to Think[END_REF] in its ability to create visualizations. We also discusses its applicability to non-temporal data and possible limitations.

Information Visualization Pipeline

The most common software architecture for information visualization toolkits is the infovis pipeline [START_REF] Card | Readings in Information Visualization, Using Vision to Think[END_REF][START_REF] Chi | A taxonomy of visualization techniques using the data state reference model[END_REF][START_REF] Jansen | An interaction model for visualizations beyond the desktop[END_REF], already introduced in Chapter 1 and shown in Figure 1.2. As our framework builds on the notion of composition of operations, it can also be seen as a data-flow process, transforming a 3D cube into 2D visualizations. However, the way our operations map to the traditional infovis pipeline is not immediately obvious. Some space-time operations can be performed at different stages of the infovis pipeline. For example, time flattening can be done at the 1999), and (c) operations on complex 3D data [START_REF] Mcguffin | Using deformations for browsing volumetric data[END_REF] data transformation stage, by aggregating raw data over time. Alternatively, it could be emulated by explicitly rendering a 3D space-time cube on the screen and using a proper camera placement and projection transformation. In that case, it would be implemented at the rendering level. However, both methods only give access to a very narrow range of operations.

Non-temporal Data

This chapter focused on temporal visualizations that involve two dimensions plus time. However, many other structured 3D visualizations exist, such as 3D scatterplots (Figure 7.28(a)) and bar charts. Van Wijk and Van Selow (1999) created a time-time cube, a type of space time cube but with two temporal axes and one axis to indicate values (Figure 7.28(b)). A single timeline is "folded" into that time-time space. Although our operations apply to 3D scatterplots and time-time space cubes with little modifications, there may be particular operations on those data sets, that are not captured by our taxonomy yet. For three-dimensional scientific data, [START_REF] Mcguffin | Using deformations for browsing volumetric data[END_REF] propose an extensive set of data driven decomposition methods (Figure 7.28(c)).

Limitations

Our framework is only a thinking tool. Like any model, it is necessarily incomplete. First, our taxonomy of elementary operations is not meant to cover all operations possible on space time cubes. Second, it does not provide much guidance for interaction design, i.e. how can operations be supported by interaction? Thereby, our framework is not meant to restrict creativity but rather to help visualization designers find new solutions, extend or generalize existing ones, and think out of the box. Only if we have a model to think about visualization, we can look for ways to overcome it.

Again, our framework assumes that the space-time cube already exists. It does not provide guidance for producing the space-time cube itself. Examples in this chapter-videos, dynamic networks, geo-spatial data, scatterplots-are rather common to be represented as space-time cubes. For other temporal data, especially 3D spatial data [START_REF] Baker | After the storm: Considerations for information visualization[END_REF], creating a space time cube may not be so trivial.

Another issue we did not discuss is whether operations should duplicate data or should only aggregate and decompose space-time cubes. A case for not duplicating data has been made before [START_REF] Hurter | FromDaDy: Spreading Aircraft Trajectories Across Views to Support Iterative Queries[END_REF]. At the same time, multiple coordinated views [START_REF] Roberts | State of the art: Coordinated & multiple views in exploratory visualization[END_REF] can help analyze complex datasets, shown in GraphDiaries. More research is needed to find a sensible trade-off.

Conclusion

This chapter presented a detailed analysis of techniques to visualize spatio-temporal data, by describing them as sequences of parametric operations applied to a conceptual space-time cube. Our operations are independent from the underlying data and can be applied across a range of application domains, be they geo-temporal visualization, dynamic networks, scatter plots, bar charts, or video visualizations.

By introducing domain-agnostic concepts, a clear terminology, and by extensively discussing trade-offs between known techniques, we aim at facilitating the comparison of different approaches to unfold and visualize temporal data. Existing visualizations from one data domain can be analyzed in terms of elementary operations and then be adapted to other domains and problems. Our model also aims at facilitating the design of user studies and discussing results in a more informative manner. Currently, the body of evidence is largely inconsistent due to the lack of a clear terminology and of low-level concepts that are necessary to tease out important factors. More controlled studies are needed to understand the trade-offs between different space-time operations, and how they perform depending on the task, the data, and the users.

Eventually, by giving a better vision of the richness of the design space, we hope our model will also motivate the exploration of new approaches. However, our framework also stresses the importance of developing fully-integrated interactive systems and toolkits that can support a range of techniques in a consistent manner. Which minimal set of views is necessary? How can multiple views be combined in a consistent way? It is important is to design effective navigation and interaction techniques to switch views as well as adapt and parameterize individual operations on the space time cube. Finally, we have not involved tasks in our discussion of techniques. While a task taxonomy has been sketched in Chapter 3 of this thesis, mapping individual tasks to views has been done for views in Cubix in Section 6.3. Discussing tasks in the context of operations for general time-space cubes is important but is left as future work.

Acknowledgements The work described in this chapter started as a presentation about ways to visualize temporal data, given by Pierre Dragicevic (INRIA) at the Dagstuhl seminar on temporal data visualization in Spring 2012. The presentation included some of the visualizations discussed in Section 7.1. An initial discussion in that topic involved Daniel Archambault (University of Swansea, UK), Sheelagh Carpendale (University of Calgary, Canada), and Christophe Hurter (ENAC, France). Within this joint-work, led by Pierre and myself, I summarized and completed many of the unfolding concepts discussed and implemented with Matrix Cubes as well as during the other projects in this dissertation. I contributed equally to all contributions described in this chapter, namely the operation design space, the definition of compound operations, the description of the 3D structures within the space-time cube, as well as the survey of techniques, and major parts of the discussion about techniques. Parts of this chapter have not been included in the submission yet. Discussion mainly took place between Pierre Dragicevic and I.

Conclusion

T HIS dissertation set out from the question: "How to support the interactive visual exploration of dynamic networks". I explored approaches to-in a metaphorical sense-unfold dynamic networks, i.e. to look inside, to extract and re-lay out its parts, to re-organize, to leaf through, to superimpose, to project from 3D them to 2D space, making some intrinsic patterns visible. Unfolding is an iterative and interactive process, not only in terms of managing the interface but also for the user's mind; it involves posing questions, formulating hypothesis, confirming and rejecting hypothesis, making unexpected discoveries, and relate discoveries, gaining knowledge about the processes the data represents. Unfolding means to change perspectives, reveal the hidden and provide means to make the complex simple and visualizations can help mapping complex tasks to simple visual forms.

The individual chapters and contributions in this dissertation can be described as implementing four principles of unfolding dynamic networks:

• complementary views and techniques,

• interaction support to switch views, • animated transitions for cognitive and perceptive support when switching views, as well as • a consistent interface, possibly based on interface metaphors.

In this final chapter, I summarize the project in this dissertation by reviewing the individual contributions. This chapter concludes with an outline of future and open research questions.

Summary and Contributions

State-of-the-Art Review Chapter 2 first gave an overview of the notions and variety of dynamic networks and then presented a state-of-the-art in visualizing dynamic networks, using the following typology: animated sequences, temporal aggregation, nestings, dynamic ego networks, temporal multiples, and space-time cubes. We can think of these groups as general complementary views allowing to discuss individual visualizations' respective advantages and drawbacks, as well as how each visualization addresses particular drawbacks in its group (e.g. node ordering in timeline views, layout stabilization and change encoding in animations, encode time in aggregated views, etc). Some studies on the effectiveness of techniques across groups exist, but the results are often hard to compare, due to that individual techniques, data, and task conditions differ. The overview in Chapter 2 demonstrated the variety of problems and approaches, and motivated the further work in the remainder of this dissertation.

Chapter 3: Towards a Task Taxonomy for Dynamic Networks Our task dimension defines the three main dimensions along which dynamic networks are explored: the elements of the network (WHERE), temporal units and their respective relationships (WHEN) as well as how network elements behave over time (WHAT). Simple (1-dimensional) tasks correspond to queries that consist of given values from two dimensions and search for the corresponding value in the third (open) dimension. The retrieved graph elements, time points or behaviors are usually further analyzed by tasks described, for example, by [START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF]. Higher-level tasks involve multiple dimensions and require to perform compound tasks, for example to compare time steps or to describe the evolution of a cluster.

Our taxonomy is a first step towards understanding what we should support with interactive visual exploration of dynamic networks. More expressive taxonomies can be imagined, capturing more tasks, reveal different groups of tasks, and result in different implications for visualization and interaction design. Rather than creating one large and complex taxonomy, which may be difficult to use and memorize by people, taxonomies could be specialized and be used in parallel.

Chapter 4: Animated Transitions and Temporal Navigation

With GraphDiaries we provide ways to explore dynamic networks along the three dimensions of our taxonomy. Since many techniques support different tasks, there is no simple mapping from tasks to techniques. GraphDiaries unfold networks with animated transitions by allowing flexible temporal navigation; showing one time step allows to fully visualize network topology and its attributes, supporting tasks about WHERE (Figure 8.1(a)). Transitions between time steps (Figure 8.1(b)) highlight changes and provide visual clues to track elements (WHAT). Transitions are adjustable in what they show and between which time steps. Important for navigation is the time line with the small multiples and the navigation slider (Figure 8.1(c), WHEN).

For evaluating GraphDiaries we chose representative tasks and which involve comparing, tracking and observing compound graph elements (groups of nodes); size, number of permanent members, and amount of change. Each task represented and required to explore a different dimension in our taxonomy. Such experiments and tasks are harder to design, but they can yield more information about (i) which strategies users employ to explore dynamic networks, (ii) which techniques they use, and (iii) how useful a particular technique is under more realistic settings (ecological validity). We found that users overall preferred the extended navigation and visual feedback, and that our transitions increased users' performance. From these results, we conjecture that in being able to support more complex tasks, GraphDiaries presents a useful approach to dynamic network exploration.

GraphDiaries can be extended in many ways including visual encoding of time relevant network measures and temporal aggregation of multiple time steps in the network view. Open questions include the visualization of a large number of small multiples on a limited screen space or to otherwise summarize the network over time in order to provide visual landmarks and previews to facilitate temporal navigation.

While in the process of publishing GraphDiaries, [START_REF] Rufiange | Diffani: Visualizing dynamic graphs with a hybrid of difference maps and animation[END_REF] presented DiffAni a system that combined similar techniques than GraphDiaries; integrating small multiples, interactive animations and difference views. We see this as evidence of the potential of providing ways to integrate multiple techniques in a consistent interface.

Upon multiple external requests, the research prototype of GraphDiaries is currently under preparation to be released in the upcoming months.

Chapter 5 Comparison of Dense Weighted Networks Density and changing weights of the connections are two aspects that make networks complex. In our use case about brain connectivity, analyzing the literature and interviewing neurologists revealed a list of tasks, many of which can be described as graph comparison tasks. Although to A particular problem in brain analysis is to represent the anatomical locations of the regions. It requires further designs and studies to provide legible representations of dynamic networks that require "spatialization", including geographical networks such as migration flows and transportation networks. An integration of our matrix design into GraphDiaries is straight forward and planned as a future extension.

Chapter 6: Unfolding Networks with the Matrix Cube A central model in this thesis was the space-time cube, serving as a base for interactive exploration. The Matrix Cube provides us with a consistent way of representing and exploring dynamic networks, especially dense ones and those with changing edge weight (Figure 8.3(a)). The cube's value results from its ability to apply operations to yield proper 2D views on the data, operations interactively. In order to explore the design space of operations and views on space-time cubes (e.g. consisting of node-link diagrams), we generalized that concept to other domains that use space-time cubes, such as video visualization and geo-temporal analysis. We first reviewed different 2D visualizations from those domains and proposed a structured and unified design space for visualizations, based on space-time cube operations (Figure 8.4(a)). We then described 3D structure within space-time cubes, which describe the data in domain-independent terms (density, change etc)(Figure 8.4(b)). Describing data is important to know which visualization is likely to yield good results, in other words, which visualization technique could fail. We showed that these data characteristics and the set of operations we described, are a good means to discuss visualizations of spatio-temporal data. However, we were not yet able to properly discuss tasks in relationship to our framework. The dimensions of our task taxonomy are inherent in the cube; WHEN on the temporal dimension, WHERE in the spatial one and WHAT as the patterns inside the cube. Yet, since techniques support tasks, we can ask for which operation supports which queries and tasks. For example, queries define two dimensions, while requiring to search in the third one. Translated to the model of the cube, this results in customizing the cube:

• highlight time points according to the elements given in the WHEN dimension (e.g., slice extraction, time chopping, time coloring, time labeling), • highlight graph elements given in the WHERE dimension (e.g., space cutting, unfolding, space coloring, stabilizing). • highlight behavior over time and changes (e.g., filtering, time flattening (without stabilizing), difference coloring) However, tasks are domain-dependent and even for dynamic networks, the discussion including tasks, techniques and data characteristics is far from being settled. We hope our framework will help others to design novel visualizations, to improve existing ones, to compare and evaluate techniques, and most importantly to help them to think and to communicate about space-time cubes and how to unfold complex data. We finally hope to expand the range of operations as we describe more visualizations, new techniques get designed, and new data gets described with space-time cubes (e.g. propagation in networks, see Section 8.2).

Future Research

Descriptions of individual future research on each of the projects in this dissertation have been described in the last section and in the corresponding chapters. In this section I refer to which open problems remain and how results from this dissertation can contribute.

Future Research

Visualize Propagation and Exchange The techniques described in this dissertation apply to the dynamics of changes in network topology and attributes. A widely under-explored area is the visualization of propagation and events, such as viruses, ideas, vehicles, messages, etc. Furthermore, topology and events interact in a way similar to rivers shaping their bed, while the bed defines where the river flows (adapted from [START_REF] Seoung | The Connectome -How Brain's Wiring makes us Who We are[END_REF]. For example, brain connections strengthen where there are many signals. That means that both topology and events form the network and provide two ways of looking at a complex system. Space-time cubes intuitively represent spread in space and time, but which particular (novel) operations are necessary? How do the visualizations described in Chapter 2 are useful? How should future visualizations be designed? Which tasks do users perform?

Comparing Dynamic Networks Another under-explored domain in information visualization is the comparison of two and more dynamic networks (such as brain activity across individuals during an experiment). An obvious solution would be to treat networks as two disconnected components in the same network and use the existing techniques for dynamic networks visualization. However, comparing the evolution in different networks, possibly across different time spans, poses interesting challenges to visualizations and interaction design. Matrix Cubes as a concise way to visualize networks, perhaps can account for rapid comparison of dynamic networks. Operations could be applied synchronously to all cubes, while showing them side-by-side.

Compound Networks Dynamic Networks are aggregated along time, as users change temporal granularity. Temporal aggregation in a space-time cube is equivalent to the compound operation: (time chopping + time flattening)*. Structural aggregation, i.e. grouping nodes into meta nodes and edges into meta edges, can be described as: (space chopping + space flattening)*. Cubix can easily be extended to allow for aggregating node slices, yet there are many problems related to visualizing hierarchical networks that change over time.

Multivariate and Directed Dynamic Networks

Multivariate dynamic networks with different node types, many time-varying attributes per node, and potentially different types of connectivity are difficult to visualize. How can the evolution of node and edge attributes be shown at the same time? How to show changes on more than one type of connection between two nodes? Toolkit Support Toolkits exist for many types of networks, but little has been developed for dynamic networks. Perhaps because they are such a complex issue and have not yet been studied sufficiently, compared to large and multivariate networks. A toolkit for dynamic networks should provide appropriate data structures for large networks, as well as fast access. It should provide an API to pose queries and retrieve data, create and stabilize, the layouts, and it should be easily understood by programmers. According the three types of storing networks, (see Section 2.3) I can imagine three complementary representations (or interfaces) to manage dynamic networks; a topology-centric that stores information per node and edge, a time-centric, storing information according to time (e.g. temporal snapshots), and an event-centric, storing individual change events. The appropriateness of each representation will depend on the data and visualizations to build with. The cube model and its operations, as well as the visualizations in this dissertation, could inform the set of queries that such a toolkit should support.

Mental Models Finally, can we think of other models to unfold dynamic networks, other than space-time cubes (a model very much stressed in this dissertation)? Does the notion of operations on consistent structures such as cubes, help us understand other problems in visualizing networks and design appropriate interfaces? Which other metaphors help us think about unfolding dynamic networks and to address the problems that cubes cannot solve in a straight manner?

A. Random Graph Generation for

Evaluating Network Visualizations W HILE evaluating our prototype for GraphDiaries we had to find appropriate data sets that would suite the needs of a controlled user study. Controlled experiments not only require controlled tasks, but also controlled data. Controlling data means to control characteristics of the data in order to make data samples comparable across evaluation conditions. Within the same experimental condition, data sets should be rather similar, yet across condition certain carefully designed variations are required, including variation size, or density. The number of required data samples can be very huge.

Real world networks are desirable for external validity, but finding networks that meet a set of desired characteristics is hard or impossible. Even if they do exist, data might not be available in sufficient quantity or variety, or may contain sensitive information requiring more than anonymization to be disclosed.

An often used alternative to real-world graphs is the generation of graphs using random graph generators. These generators allow to create graphs that satisfy certain characteristics but do not control for others. This limited flexibility may not be sufficient for formal evaluations of algorithms and layouts, for example if one wants to evaluate graphs with an upper bound on the node degrees or a given number of connected components.

Testing for higher-level tasks, on the other hand, requires yet a different approach to control data. Many higher-level tasks require higher-level graph patterns in the graph such as clusters of certain "shape" that resemble common patterns from the real world. Yet, domain and graph experts can best decide on the appropriateness of a synthetic data set when seeing it and comparing it to their knowledge about domain data.

In general, the problem does not only consist in finding the "right" graph generator, but finding the "right parameters" that lead to a certain desired graph. We describe the process of generating graphs as an interactive process that requires the computer to generate graphs, while experts control the generation interactively, based on immediate feedback of the machine's results.

Dynamic networks are a particular case for several reasons. (1) Changes in a graph are not easy to see (visualize) and hence it is not easy to judge whether the data set meets the desired requirements, (2) for almost the same reason tne graphs are hard to compare, for example in terms of difficulty, and (3) dynamic networks are even harder to describe and quantify than static graphs, with respect to automatic generators and evaluation. Yet, we are interested in a general way to improve the generation of graphs, and also to reduce the problem; in this chapter, we focus on static networks. We explore and describe:

How to generate static graphs with particular measures and visual patterns? How the process of graph generation can be controlled interactively by the user, involving visualization for feedback?

This chapter introduces GraphCuisine, an interactive system that lets users steer an Evolutionary Algorithm (EA) to create random graphs matching user-specified properties. GraphCuisine has been designed with three main scenarios in mind:

(i) Generate graphs with specific graph measures When designing a new layout, routing, or edge bundling algorithm, being able to test its behavior with varying topological properties, described by graph measures (e.g., density, diameter or clustering-coefficient) is essential and almost impossible with current generators. (ii) Generate graphs that "look like" a target graph not knowing in advance the measures that contribute to the graph's structure. When testing the appropriateness of an algorithm for a specific application domain (e.g., network traffic, brain networks) with only a few samples of real graphs available, generating graphs similar to the samples is important. In that case, selecting the measures that best characterize the sample graphs requires visualization, human judgment, and interaction. (iii) Anonymize a specific graph by generating a graph with similar or identical measures. When a company has confidential graphs to analyze (e.g., e-mail exchanges between employees or telephone calls between possible suspects), collaborating with researchers or specialists can be impossible. Generating graphs as similar as possible to the interesting confidential graphs makes collaborations much simpler.

To allow for these different modes of interactive random graph generation, GraphCuisine consists of an interactive interface and a graph generation model that combines different generators and optimizes their parameters with an EA. Graphs are created by traversing a pipeline of generators, each acting on the output of the previous one by adding or removing nodes and edges in very specific ways, according to the generators respective input parameters. The EA then attempts to find sets of parameters that produce graphs that best match the user-defined properties.

After a discussion of existing graph generators and an explanation of the basic concepts of evolutionary algorithms in Section A.1 Section A.2 introduces GraphCuisine and how it is used, while Section A.3 explains the particular evolutionary algorithm in GraphCuisine. We show how GraphCuisine is used to first reproduce and then adapt a real world social network in Section A.4. Section A.5 briefly explains how we use the graphs generated with GraphCuisine to generate dynamic networks, and how we plan to extend GraphCuisine to generate actual dynamic networks.

A.1. Background

This section briefly reviews the foundations of graph generation and evolutionary algorithms. It then describes user interfaces for interactively generating synthetic data.

A.1.1. Random Graph Generation

The most simple random graph generator is the one from [START_REF] Erdös | On Random Graphs[END_REF], where any pair of nodes is connected with a certain probability p. This generator allows to control only the graph's density, which for larger graphs is p. Generators have been developed using different techniques to construct graphs with varying characteristics. The most common classes are preferential attachment, which model "behaviour" of graph elements, and structural generators, which directly create certain structures.

Preferential attachment Preferential attachment generators iteratively add nodes to the network and connect them to existing nodes under a certain probability. This probability can depend on different conditions, such as node degree ( [START_REF] Barabási | Emergence of Scaling in Random Networks[END_REF]) or distance in a lattice [START_REF] Waxman | Routing of Multipoint Connections[END_REF][START_REF] Kleinberg | Navigation in a Small World -It is easier to find Short Chains between Points in some Networks than Others[END_REF][START_REF] Watts | Collective Dynamics of 'Small-World' Networks[END_REF]. While [START_REF] Barabási | Emergence of Scaling in Random Networks[END_REF] generate graphs with exponential degree distribution, [START_REF] Kleinberg | Navigation in a Small World -It is easier to find Short Chains between Points in some Networks than Others[END_REF] as well as [START_REF] Watts | Collective Dynamics of 'Small-World' Networks[END_REF] generate small-world graphs. These generators do not introduce new connections into the graphs, but reconnect nodes (re-wiring).Generally preferential attachment is used to generate graphs with powerlaw node degree. Other techniques have been proposed to overcome drawbacks of preferential attachment and rewiring techniques, mainly to create networks with more realistic structures.

Structural generators Structural generators first create higher-level structures of the graph, such as clusters and recursively model details [START_REF] Doar | A better Model for Generating Test Networks[END_REF][START_REF] Calvert | Modeling Internet Topology[END_REF]. A problem common to most generators is that they focus on producing networks with one or two particular characteristics, disregarding all others. Consequently, techniques have been proposed that treat graph generation as a global optimization problem [START_REF] Frank | Markov Graphs[END_REF][START_REF] Carlson | Highly Optimized Tolerance: A Mechanism for Power Laws in Designed Systems[END_REF] or using local forces between nodes and edges by evolving the network [START_REF] Fabrikant | Heuristically Optimized Trade-Offs: A New Paradigm for Power Laws in the Internet[END_REF][START_REF] Berger | Competitioninduced Preferential Attachment[END_REF]. R-Mat tries to model as many characteristics as possible in a flexible way by partitioning an adjacency matrix into cells, similar to BRITE [START_REF] Medina | On the Origin of Power Laws in Internet Topologies[END_REF] and creates edges with different probabilities. The model features several graph characteristics and comes with an input parameter fitting function. However, R-Mat generates one graph at a time and Choosing the appropriate generator and modelling the desired graph characteristics is crucial in several contexts; the lack of expressiveness of existing generators impacts the generation quality or requires a long sequence of trials and errors to obtain graphs with a desired structure. For dynamic networks, there are even just very few generators, summarized in Section A.5.

A.1.2. Evolutionary Algorithms

Evolutionary algorithms (EA) are stochastic optimization heuristics that copy, in a very abstract manner, the principles of natural evolution that let a population of individuals be adapted to its environment [START_REF] Goldberg | Genetic Algorithms in Search, Optimization and Machine Learning[END_REF]). An EA considers populations of potential solutions exactly like a natural population of individuals that live, fight, and reproduce, and the natural environment pressure is replaced by an abstract optimization pressure. In this way, individuals which are the best ones, with respect to the problem to be solved, reproduce. Evolutionary optimization techniques are particularly well suited to complex problems, where classical methods fail due to the irregularity of the function to optimize or to the complexity of the search space. In this chapter, we define an interactive evolutionary algorithm (IEA) where users influence steps and parameters of the algorithm interactively.

EAs have been used in Neuroevolution to evolve the topology and edge weights of neural networks in their creation and learning phase. Neuroevolution faces two main problems: (a) How to encode neural networks in genes, and (b) how to design effective cross-over operators that do not destroy desired sub-structures in the networks. There are mainly two approaches to these problems: Direct encoding and grammar encoding.

Direct encoding encodes each node and edge directly as genes [START_REF] Gruau | Neural Network Synthesis using Cellular Encoding and Genetic Algorithms[END_REF]. Edge genes are active or inactive, depending on whether the edge is present or not. Cross-over operators for direct encoding [START_REF] Stanley | Evolving Neural Networks through Augmenting Topologies[END_REF] are straightforward in the sense that they swap the presence or weights of edges. With effective cross over, direct encoding can maintain individual topological structures across generations, but the chromosomes can become very large (#genes ≥ #edges) and have to vary in size if the network grows, which is quite unusual in EA.

Grammatical encoding encodes rules that create the neural network. Rules are described in a grammar tree, which is traversed and iteratively transforms a seed-node into multiple nodes and change their connectivity [START_REF] Kitano | Designing Neural Networks Using Genetic Algorithms with Graph Generation System[END_REF][START_REF] Suchorzewski | Evolving Scalable and Modular Adaptive Networks with Developmental Symbolic Encoding[END_REF]. Evolutionary algorithms evolve the grammar tree, not the network. Grammar-based approaches are similar to the algorithm designed for GraphCuisine but differ in that these algorithms optimize one network at a time. Important for experiments is that a "good" network can be reproduced many times while copies are not identical, but as similar as possible. Grammar trees are deterministic.

EAs have further been used to create graph layouts. [START_REF] Biedl | Graph Multidrawing: Finding Nice Drawings Without Defining Nice[END_REF] use an interactive EA and present several layouts to the user from which he can chose. The system then tries to infer aesthetic criteria the user is interested in. However, the approach focuses on finding layouts for one very small graph.

A.1.3. UIs for Data Generation and Analysis.

Few approaches exist that tightly involve the user in the data generation process. [START_REF] Albuquerque | Synthetic Generation of High-Dimensional Datasets[END_REF] present an interactive approach to create high-dimensional data sets using generators and sketching methods for 1D, 2D and 3D scatterplots.

Low level graph sketching and graph editing capabilities are provided by several tools (e.g. yEd Graph Editor, 2012). [START_REF] Wong | Generating Graphs for Visual Analytics through Interactive Sketching[END_REF] generate graphs through sketching on adjacency matrices and adapt pixel-based drawing techniques to draw edges inside the matrix. Although a node-link representation is provided in parallel with the matrix, only the matrix is used for drawing. Except when drawing cliques, this makes it hard to predict the final layout of the resulting graph in the form of a node link diagram, and, except for node count and edge count, it is almost impossible to control measures of the resulting graph. In general, sketching approaches do not solve the problem of creating similar copies of a graph. GraphCuisine uses "receipes" to create graphs and reproduce graphs with similar properties. For the general creation of multivariate data, [START_REF] Albuquerque | Synthetic Generation of High-Dimensional Datasets[END_REF] present interactive approaches using generators and sketching methods for 1D, 2D and 3D scatterplots. Still, sketching interfaces do not create diverse data sets, but instead only provide one particular solution.

A.2. Graph Cuisine

A.2.1. Generation Overview

GraphCuisine is a random graph generator for undirected graphs that evolves a population of individuals encoded in chromosomes, each of them representing a "recipe" to generate a graph. A graph is generated from a chromosome by running a pipeline of generators, each reading its appropriate input parameters from the chromosome and modifying the graph by systematically adding or removing nodes and edges. GraphCuisine currently implements 12 graph generators, each using 2-5 input parameters and creating basic network structures such as stars, clusters and several types of "noise" (see Table A.1). The target graph towards which the graphs (as representatives of individuals) are evolved is encoded as a set of target measures-such as node count, density and clustering coefficient. The fitness of a generated graph is calculated as the distance between the measures of the generated graph and the target values (Section A.3.3).

Encoding the genome as a set of parameters for generators has two major advantages:

(1) the genome size remains constant and independent of the graph size, and (2) the measures used to optimize the graphs are independent from the number and parameters of the simple generators, allowing new measures to be added easily, as well as new generators. Having constant-size genomes facilitates crossover between chromosomes, which in turn increases the diversity of generated solutions.

A.2.2. Interface

The interface of GraphCuisine consists of five major parts as shown in (d) the measures view employs an interactive parallel coordinates plot to show the distribution of measures in the entire graph population. The width of the colorcoded rectangles indicates the weight of the measure in the fitness computation (Section A.3.3). As in standard parallel coordinates, each polyline represents a graph in the current population and connects all the graph's measures. Vertical axes show the value range of each measure as set by the user. Tick marks on the axis lines indicate the desired minimal and maximal values, while the white circle indicates the desired target value for the population. All values can be adjusted interactively by dragging the marks. A vertical line graph draws the distribution of node degrees for each graph, at the right of the gray degree measure axis. We opted for line plots because they cause less visual clutter than bar graphs and allow to show how multiple graphs converge or diverge in this measure. (e) The measure table shows all measures with the population, similar to NetLens [START_REF] Freire | ManyNets: An Interface for Multiple Network Analysis and Visualization[END_REF].

The user can switch between adjacency matrix and node-link representations for all the graphs on the population and detail views as well as choose between different layout algorithms to highlight particular graph patterns. Views in GraphCuisine are coordinated with brushing and linking: moving the mouse over a polyline highlights the corresponding graph in the population and table views, and vice-versa.

A.2.3. Generation Process

To initialize the graph generation, the user can choose among the following options:

• Random initialization: The population is created from a random set of generator parameters for each chromosome and random target measures, providing a base for a more exploratory generation. • Set target measures directly: The values for the desired graph measures can be set interactively by adapting the minimal, maximal and target values as well as the measure weight directly in the measures view. • Graph templates: Templates are predefined sets of generator parameters and measures selected to create graphs with particular characteristics such as smallsized, medium-sized or large-sized, dense or sparse, following power-law degree distribution, or small-world graphs. Templates are chosen from a menu where complementary templates can be selected at a time. New templates can be defined by the user for later reuse. Based on a template, an initial population is created. • Load an existing graph: To mimic an existing graph, the graph is imported and shown in the data set view (Figure A.2(c)). Its measures are derived, displayed in the measures view, and serve as target values for the evolution. The measures and their weights can immediately be modified by the user or at any time during the evolution; they can also be reset to the value of the loaded graph.

Generating graphs with GraphCuisine consists of two alternating phases. After the initialization and selection of the target measures, the evolution of the generator parameters is started and machine solutions are created by optimizing the initial population (50 graphs) to fit the target values. After five generations, we select 12 representative graphs. Since showing the entire population is not very practical, our heuristic selects 12 representative graphs; the three fittest and nine at random for purposes of diversity. They are consequently displayed in the population view and the measure table. The measures view is then updated to display the values from the whole population. The saturation of the green bars in the population view indicates the fitness of each graph and adapts immediately if the user changes the target measures in the measures view. This feedback is required for the user to know which graphs are considered similar by the system with the current settings.

Alternatively to changing measures in the respective view, users can select graphs they judge good directly from the population view by clicking on them. Multiple graphs can be selected and the target measures are set to reflect the chosen graphs. Measure weights are updated according to the variance of their respective values in the selected graphs-the more a particular measure differs, the lower it is weighted and vice-versa (see Section A.3.4). The evolution can then run for a further step with the new measures being taken into account.

The number of generations as well as other parameters of the EA can be adjusted by the user at any time, allowing for control of the evolution behavior (population size, generations, elitism, etc.). Any generator can be disabled to prevent the graph from showing particular characteristics. Setting generator parameters directly gives additional freedom over the resulting graphs.

Since our fitness value reflects the difference between measures of each graph and the target measures, a lower fitness value means a higher fitness. Behavior and convergence of the fitness of the whole population is monitored in the chart shown in Figure A.3. It shows minimal (best), maximal (worst) and average fitness throughout all generations using a logarithmic scale. In order to avoid previous graphs being lost during the evolution process, GraphCuisine can be reset to any generation to try alternative evolutions. Additionally, the chromosome of any generated graph can be saved as template to initialize new populations later on.

A.3. An Evolutionary Algorithm for Graph Generation

As explained in the previous section, each individual in GraphCuisine's EA corresponds to a graph. It is encoded in a generative way, i.e., its chromosome, which fully specifies a sequence of generators, their parameters, and the corresponding values. The creation of a graph from a chromosome and the evaluation of its fitness is done in four steps, illustrated in Figure A.4: (1) From a chromosome, parameters are fed into the graph generators that,

A.3.1. Chromosome Structure: Internal Encoding of an Individual

Each chromosome is divided into three blocks. The first is a single gene with an integer value, which serves as a seed for the random number generator to ensures consistent random values for the generation. The second and third block stand for two different kinds of generators, explained in the next section (Section A.3.2). They are both represented in the same way: the first gene contains a Boolean value indicating whether the corresponding generator is active or not (a i ), and the second gene contains a value specifying the execution order of the generator in the creation pipeline (o i ) (Figure A.4). The remaining genes of each generator contain their input parameters (p i ).

A.3.2. Graph Generators

We implemented two specific types of generators in GraphCuisine: motif generators and noise generators. They are applied in two steps: motif generators start by creating topological patterns, such as clusters, stars, paths, and cycles. The generators' parameters specify subgraph-specific properties (e.g., the degree of a star's central node, detailed in Table A.1) and how many instances of it should be created. Noise generators are applied in a second step to break these regularities, making structures more varied and less predictable by adding or removing nodes and edges. Nodes and edges can be inserted randomly with different node degree distributions: uniform, power-law, logarithmic or exponential. Nodes and edges to be removed are either chosen randomly or according to some criterion, such as eliminating isolated nodes (degree 0). These two steps are conceptually similar to some structural generators but the motifs and noise we produce are more varied and generalized.

Parameters for noise generators define how many nodes or edges the graph should have (and thus how many should be added or removed) as a means to control the approximate size of the graph. More specific properties exist, such as the probability of connecting [START_REF] Eppstein | A Steady State Model for Graph Power Laws[END_REF].

Number of iterations (integer).

Exponential Edge Noise

Adds edges while trying to achieve an exponential degree distribution.

Ideal number of edges the graph should have (integer).

Logarithmic Edge Noise

Adds edges while trying to achieve a logarithmic degree distribution.

Ideal number of edges the graph should have (integer). Node Noise

Adds nodes until the target count for the graph is reached.

Ideal number of nodes the graph should have (integer).

Orphan Cleanup Noise

Removes nodes with degree 0.

Percentage of orphans to be removed (double). Random Edge Cleanup Noise Removes randomly chosen edges.

Percentage of edges to be removed (double). Random Node Cleanup Noise Removes randomly chosen nodes.

Percentage of nodes to be removed (double).

Table A.1.: GraphCusine's Motif (above) and noise generators (below).

two given nodes by an edge. The count of nodes and edges to be inserted and which nodes should be connected depend on what is already in the graph. As such, if applied in a different order, the same noise generators with the same parameters will produce different graphs.

A.3.3. Fitness Function: Quality Assessment of an Individual

The computation of the fitness of each chromosome/graph is based on the set of target graph measures M = {m i |m i ∈ R, i ∈ [0, n]}, with tolerance bounds m i ∈ [min i , max i ], and importance weights w i ∈ [0, 1]. For a graph G k , each measure in M is computed as: M k = (m 0,k , . . . , m n,k ) where m i,k is the i th graph measure. The f itness(G k ) ∈ R + of the graph G k is its distance to the optimal solution, i.e. the following weighted sum:

f itness(G k ) = ∑ i∈[0,n] w i * m i -m i,k max i -min i
Normalization is necessary to weight and sum up measures equally. Currently, GraphCuisine supports the following measures: node amount, edge amount, density, graph diameter, number of clusters (using the EdgeBetweennessClusterer implemented in JUNG [START_REF] O'madadhain | JUNG -Java Universal Network/Graph Framework[END_REF]), number of connected components, average clustering coefficient, and average node degree. Some of the measures such as node amount, edge amount and density, are interdependent so that if the user restricts one measure, others are restricted automatically. We recommend to start with few measures (high weight) while observing the first generations and then add and adjust additional measures. It requires more investigation to provide appropriate interface components to communicate and manage such dependencies.

A.3.4. Interactive Evolution

The population view allows selecting good solutions by visual inspection. This feature is based on the assumption that visual node link or matrix representations allow humans to compare graphs and match some of their visible structure effectively. When selecting multiple graphs S with G k ∈ S, GraphCuisine tries to infer what graph characteristics are important to the user. The target value for each measure m i is taken to be the average of measures of all selected graphs: m i = m i,k . The weights w i are adjusted to reflect the diversity or similarity of the single graph measures using the standard deviation of the normalized graph measures m i,k : w i = stddev(m i,0 , . . . , m i,s ) with m i,k = m im i,k max imin i When users change the target measures or their weights, we increase the mutation rate for one generation in order to yield a larger variety of new solutions.

A.3.5. Implementation

GraphCuisine is implemented in Java using the JGAP library1 . By default, the graph generation process begins with a randomly generated population of 50 individuals, which is evolved for 5 generations in each evolution cycle. These values were chosen to keep a balance between population diversity and acceptable running time for each cycle, an important issue for GraphCuisine due to its interactive nature. In order not to lose good solutions over time, we guarantee that each generation keeps 30% of the individuals from the previous generation (elitism). The components of the evolutionary algorithm are the following:

A.4. Case Description

• A tournament selection of size five, meaning that five individuals are randomly chosen with uniform probability, with the best one being kept as a parent. The process is repeated twice to select two parents for a crossover. • A one-point crossover that creates two offsprings by swapping all the genes of the parents that come after a randomly selected position in the genome. • A simple random mutation that takes 5% of the genes of each individual and replaces them with random values.

Crossover and mutation are applied in cascade. First, new individuals are created by applying a crossover, then all new individuals undergo a mutation that alters 5% of their genes. The configuration of GraphCuisine 's EA is based on the specific problem we approach and on results obtained from experimentation with the different parameters.

Performance of the generation and evaluation process is essentially limited by the computation time for the graph measures (in particular those related to clusters), with creation, mutation, and crossover times being negligible. Measure weights can be set to 0, which accelerates the process by not computing this measure.

Adding new measures or generators to GraphCuisine consists of adding the new implementations and update the user interface. Measures must be added to the fitness function, while new generators require that their parameters be included in the chromosome structure. Integrating new measures into the interface amounts to adding columns to the table and dimensions to the parallel coordinates plot.

A.4. Case Description

A.4.1. HIV Network

Imagine an HIV (Human Imune Virus) contamination network2 that must be anonymized while keeping the characteristic structures present so that it can be given to students in epidemiology for analysis. By importing the network in GraphCuisine, its measures are calculated and automatically set as target measures. The graph population is randomly initialized to guarantee diversity. After a first evolution step of five generations, the representative graphs are shown in the population view and the measures table. The parallel coordinates in the measures view shows that the distribution of measure values for all the 50 graphs in the current population has already converged well towards the target values.

The user can then decide to increase the graph size and, proportionally, the number of clusters. This is done by setting the desired size and the number of clusters in the measures view. Since these two seem to be the most important measures for this evolution, the user slightly increases their weight by varying the width of the colored rectangles in the parallel coordinates plot. After another evolution cycle, the graphs have grown and show a proportionally higher number of clusters. The degree of optimization and similarity between the generated graphs and the original one can be controlled by adjusting the number of generations in the evolution step.

If desired, the user can continue to refine the graphs by, for example, selecting their favorite representative graphs from the population view and running another evolution cycle to obtain graphs similar to the ones they chose. Since selecting graphs causes the target measures to reflect the measures of the selection, they might slightly diverge from those of the imported graph. When a desired result has been reached, generated graphs can then be exported. Figure A.2 shows the imported HIV network (right), the generated graphs (left), as well as a particular selected graph (center) with its measures highlighted in red in the measures view. The fitness view (Figure A.3) shows the convergence of the population fitness declining, unless the target measures have been changed by the user. The pure evolution time for 50 individuals for 20 generations was 6.52 minutes.

A.4.2. Further Examples

Examples of different types of graphs generated with GraphCuisine, in Figures A. 5, A.6, A.7, and A.8, are shown along with their measures.

A.5. Generating Dynamic Networks with GraphTabasco

With GraphCuisine we explored a way to generate static graphs in an interactive way and by including users' feedback. Generating dynamic networks is a much more complex process that requires a deep understanding of changes in over time. Simulating dynamic changes in networks is best expressed by preferential attachment generators (Section A.5. Generating Dynamic Networks with GraphTabasco A.1.1), since in these generators, graph generation is already modelled as an iterative and evolutionary process. However, these generators generate one graph with particular measures, rather than a sequence; they do not model abrupt changes, node removal, or control for trends.

Two very recent generators for dynamic network exist that model events and their probability in the graph evolution, both having been published at the same time as GraphCuisine. [START_REF] Jónsson | Simulating large-scale dynamic random graphs in OMNeT++[END_REF] use node insertion events whereby nodes have a minimum and an average lifetime. Edges are exchanged as nodes enter and leave the network, or get updated randomly. Attachment probabilities are based on the model by [START_REF] Barabási | Emergence of Scaling in Random Networks[END_REF]. [START_REF] Görke | An efficient generator for clustered dynamic random networks[END_REF] describe a generator that is also based on Barabási and Albert's model and that models clustered graphs. In each time step, the algorithm decides if a cluster splits or two clusters merge, then adding and removing nodes randomly. Between two cluster states, there is a transition period, where clusters get organized in order to avoid abrupt changes in their structure. However, the already discussed issues with generators for static networks remain; determining input parameters, the quality of generated patters, and lack of users' control over the generation.

Currently, we have chosen a simple way to generate dynamic networks, based on the graphs generated with GraphCuisine. While evaluating our designs for comparing two weighted graphs (Chapter 5), we required multiple similar graphs, but with certain (controlled) differences. I implemented an extension to GraphCuisine, GraphTabasco, which takes one graph as input and generates an arbitrary number of copies with some adjustable variability. Different from GraphCuisine, where each graph is generated from scratch, graphs in GraphTabasco are true copies of the input graph, i.e. node-IDs match across graphs. With GraphTabasco we can (i) introduce (random) edge weights to the imported graph and its copies, (ii) create copies of the imported graph which are modified individually, and (iii) control for changes in the copies. While for the evaluation in Chapter 5, we created only one copy of the input graph, dynamic networks can easily be created by putting multiple individual graphs into a sequence. Since they all originate from the same input graph, the basic structure (e.g. clusters) are maintained. Variation is currently controlled by only one parameter (Degree of Variance, (e)) indicating the percentage of added and removed edges. However, there is a potentially large number of parameters (number of edges and nodes, to be added, nodes and edges to be removed, variability of values, etc.).

An optimization algorithm, such as in GraphCuisine, may eventually be used to optimize these parameters, while GraphTabasco can support visual feedback and ways of controlling the generation. Matrix Cubes have a high potential in providing quick overview of each generated dynamic networks.

A.6. Conclusion

This chapter described GraphCuisine, a system that uses an evolutionary algorithm to generate static random graphs according to user-specified graph measures. We encode graphs using a generative model where several generators are run in sequence, each taking as input a set of parameters. We store the parameters and execution order in the genome of the EA engine and evolve it to produce graphs matching the set of target measures. GraphCuisine is available online for download at http://www.aviz.fr/ Research/Graphcuisine. GraphCuisine has been complemented with Graph-Tabasco to generate a multitude of exact, but slightly different copies, as well as random dynamic graphs.

Generation Process GraphCuisine's parameter encoding has several advantages for our specific goal compared to directly encoding graphs in the genome: it is efficient, both in space and computation time. One genome can potentially generate an unlimited number of similar random graphs. Changing the parameters through mutation generates more diversity than direct encoding. Diversity, in turn, leads to faster convergence of the evolution and can introduce interesting unexpected results that still match the constraints. In our experience, GraphCuisine's EA converges rapidly. However, we want to conduct more formal studies to better understand the behavior of our generators compared to existing ones in terms of convergence and expressive power. Such a formal study would also help to balance speed of convergence of the evolution against diversity in the population.

Usability Generating graphs with GraphCuisine does require some understanding of graphs and the meaning of the particular measures. However, users do not require deep knowledge about evolutionary algorithms and can freely explore the generation space for graphs using the GraphCusisine interface. In order to improve the interface and the underlying algorithm, as well as define additionally required features, an evaluation with actual practitioners remains to be done.

Extensibility

The set of generators, measures and templates currently implemented in GraphCuisine is limited to maintain controllability. Extending it is straightforward; new generators can be added to the pipeline and their parameters can be are added to the chromosome; new measures can simply be added and integrated into the interface. We continue seeking for a good minimal set of generators and measures and how to prevent users from obtaining empty search spaces due to dependencies between measures (e.g. node amount, edge amount, and density). Another extension we are working on is to express and match measure distributions such as power-law node degrees. The EA would require little change to support this, but the interface would need more work to effectively let the user specify the distributions. called Power Graphs (middle) [START_REF] Royer | Unraveling protein networks with power graph analysis[END_REF]. . . . . . . . . . . . 2.3 Small-world graphs [START_REF] Watts | Collective Dynamics of 'Small-World' Networks[END_REF]. p indicating the probability of random re-wiring (re-attaching an edge to another node). Illustration after [START_REF] Watts | Collective Dynamics of 'Small-World' Networks[END_REF] [START_REF] Achard | A Resilient, Low-Frequency, Small-World Human Brain Functional Network with Highly Connected Association Cortical Hubs[END_REF], and (c) forcedirected node-link accompanied with a spatial visualization showing actual positions of the nodes [START_REF] Nelson | A Parcellation Scheme for Human Left Lateral Parietal Cortex[END_REF]. Right column, anatomical connectivity: (d) fibers within the 3D volume of the brain, (e) fiber density ROI graph as a spatial node-link diagram [START_REF] Hagmann | Mapping the Structural Core of Human Cerebral Cortex[END_REF], and (f) matrix representation of fiber densities between ROIs [START_REF] Hagmann | Mapping the Structural Core of Human Cerebral Cortex[END_REF]. All images reproduced with authors' permissions. . . . . . 115

Dynamic Networks

  Figure 1.1.: Anscombe's quartet (Anscombe, 1973). (a) Values in four different data samples (1-4), (b) statistical measures are the same across all four samples, (c) scatter plots showing actual differences in the four samples.

1. 2 .

 2 Figure 1.3.: Handdrawing of a social network by Moreno, 1932

  Figure 1.4.: Examples of dynamic network visualizations. (a) Small multiples: one picture per time point, read from left to right. (b) Parallel edge splatting: time also running from left to right, nodes are ordered on vertical axis, edges indicated between them. (c) Space-time cube: node-link diagram getting extruded into additional spatial dimension (from bottom to top), simulating time.

  Figure 1.5.: Unfolding the earth: different projections by van Wijk (2008), each showing a different aspect of the earth's topology.

Figure 2 .

 2 Figure 2.1.: Graphs: (a) with self-edges, (b) directed graph (digraph), (c) multigraph, (d) weighted graph, and a combination of all (e) weighted directed multigraph with self-edges.

Figure 2 . 3 .

 23 Figure 2.3.: Small-world graphs[START_REF] Watts | Collective Dynamics of 'Small-World' Networks[END_REF]. p indicating the probability of random re-wiring (re-attaching an edge to another node). Illustration after[START_REF] Watts | Collective Dynamics of 'Small-World' Networks[END_REF]

Figure 2

 2 Figure 2.6.: Examples of circular time visualization. (a) Spiral glyph showing temperature along the year (one rotation), and (b) energy consumption during the year, organized by day[START_REF] Van Wijk | Cluster and calendar based visualization of time series data[END_REF]

Figure 2 . 7 .:

 27 Figure 2.7.: Categorization according to Aigner et al. (2011): Instants can refer to (a) a discrete point in time, (b) a unit on a higher-level of granularity. Intervals include multiple instants. (c) an interval spanning multiple instants.

Figure 2

 2 Figure 2.8.: Relations between temporal primitives according to Allen (1984) (figures taken from Aigner et al., 2011). (a) Relations between instants, (b) relations between intervals.

Figure 2 . 9 .:

 29 Figure 2.9.: Three representations of the same dynamic network: (a) Snapshots per instant, (b) supergraph with lifespans (Diehl & Görg, 2002).

Figure 2 .

 2 9(b) shows the supergraph of the time steps on the left, indicating the time steps where each node (non-italic) and edge (italic) are present. For instance, node a has a lifetime of 3 time steps, while the edge between nodes b and d has a lifetime of 1 time step. The edge between C and D reappears.

Figure 2 .

 2 Figure 2.10.: Network at different levels of temporal granularity (Bender-deMoll & McFarland, 2005). The bottom line shows snap shots at a very fine temporal granularity, while the top most graph shows the supergraph, i.e. at the highest temporal granule.

Figure 2 .

 2 Figure 2.11.: Types of connectivity. A, B and C represent nodes, time goes from top to bottom, edges are indicated in red. (a) Instantaneous edges, (b) Transmissive edges, (c) Persistent edges.

Figure 2 .

 2 Figure2.12.: Time window between two instances ("slice point"). Gray vertical bars represent the lifetime of nodes and edges ("arc") in the network (Illustration according toBender-deMoll & McFarland, 2005).

Figure 2 .

 2 Figure 2.13.: Graph representations taken from Bertin (1973). Some of these representations are commonly referred to by certain names, others have not been used so far. For example, (1) Arc Diagram, (4) Circular Layout / Ring Layout (7) Force directed, (10) Containment diagram, (11) Directed Acyclic Graph (or Tree), (20) Adjacency Matrix.

Figure 2 .

 2 Figure 2.14.: Network topological patterns in both, adjacency matrix and node-link representation (Henry & Fekete, 2006). The pattern labeled with an A shows a star motif, while pattern B shows a dense cluster. Pattern C shows a clique (complete subgraph).

Figure 2 .

 2 Figure 2.15.: Matrix visualizations: (a) NodeTrix hybrid visualization for locally dense (matrix) and globally sparse (node-link diagrams) networks[START_REF] Henry | NodeTrix: a hybrid visualization of social networks[END_REF]. (b) Matlink showing links between nodes (columns) to support path following(Henry & Fekete, 2007).

Figure 2 .

 2 Figure 2.14 illustrates how topological patterns are represented in both an ordered matrix and a node-link diagram using a force-directed layout algorithm. The pattern labeled with an A (dark red) shows a star motif, while pattern B (bright yellow) shows a dense cluster. Pattern C (orange) shows a clique (complete subgraph).

Figure 2 .

 2 Figure 2.16.: Compound fisheye technique as illustrated by Abello, Kobourov, and Yusufov (2004). van Ham and van Wijk (2004) developed a similar technique at the same time. (a) Hierarchical clustering, (b) resuling view with focus on dark red nodes, (c) nodes within the green cone are expanded, i.e. its children are shown.

  (a) Node size is fixed relative to screen size (b) Fisheye used to resolve clustering and show underlying graph elements.

Figure 2 .

 2 Figure 2.17.: Techniques for vertical graph navigation as described by van Ham and van Wijk (2004).

Figure 2 .

 2 Figure 2.18.: Same data set shown at two different zoom levels in ZAME[START_REF] Elmqvist | Zame: Interactive large-scale graph visualization[END_REF]

Figure 2 .

 2 Figure 2.19.: Glyph designs in ZAME to visualize and aggregate attributes on edges[START_REF] Elmqvist | Zame: Interactive large-scale graph visualization[END_REF]

Figure 2 .

 2 Figure 2.20.: Techniques for horizontal graph navigation. (a) Bring and Go (Moscovich et al., 2009), (b) Dynamic Insets (Ghani et al., 2011), (c) Schematic view of Logical frames, illustration after Huang, Eades, and Cohen (1998), (d) Degree of Interest graph visualization by van Ham and Perer (2009).

Figure 2 .

 2 Figure 2.21.: View navigation in GraphDice[START_REF] Bezerianos | Graphdice: a system for exploring multivariate social networks[END_REF]. (a) Scatterplot Matrix for selecting views. (b) View transition in the scatterplot using staged animated transitions described by[START_REF] Elmqvist | Rolling the dice: Multidimensional visual exploration using scatterplot matrix navigation[END_REF].

Figure 2 .

 2 Figure 2.22.: View creation and overview in Ploceus (Liu et al., 2011). (a) Model view to define which nodes (according to node type) and relations should be visible. (b) Multiple views, each showing different nodes and times. Here, columns indicate years, while rows indicate domain specific node attributes.

Figure 2 .

 2 Figure 2.23.: (a) Insitu graph views by Hadlak, Schumann, Cap, and Wollenberg (2013) and (b) navigation and interaction history by Heer et al. (2008).

Figure 2 .

 2 Figure 2.25.: Examples of temporal multiples. (a) Matrices juxtaposed in Matrix Flow (Perer & Sun, 2012). The line chart shows the evolution of connection weigth between two selected nodes. (b) Design for a user study on temporal multiples in Boyandin, Bertini, and Lalanne (2012).

Figure 2 .

 2 Figure 2.26.: Example of animation in Friedrich and Eades (2002) employing geometric transformations before moving nodes to their final positions. Images 1-6 indicate affine transformations (rotation, scaling, shearing, translation), images 7-12 show nodes moving to their individual positions.

Figure 2 .

 2 Figure 2.27.: Examples of aggregated dynamic networks. (a) Matrices in information visualization spreadsheets (Chi, Riedl, Barry, & Konstan, 1998), (b) superimposed nodelink diagrams in Hascoët and Dragicevic (2012), (c) nodes colored by age[START_REF] Collberg | A system for graph-based visualization of the evolution of software[END_REF], and (d) line graphs showing time series on network nodes[START_REF] Hadlak | Supporting the visual analysis of dynamic networks by clustering associated temporal attributes[END_REF].

Figure 2 .Figure 2 .

 22 Figure 2.28.: Examples of aggregated dynamic networks. (a) Time Matrix showing edge time-varying attributes as bar charts inside matrix cells (Yi et al., 2010), (b) Pixel-oriented visualizations using space filling curves to indicate time-varying edge attributes (Stein et al., 2010), (c) Gestaltlines in matrix cells indicating weight changes in bi-directed weighted networks[START_REF] Brandes | Asymmetric Relations in Longitudinal Social Networks[END_REF]

  (a) Node-link based: no node or edge duplication, edges connect nodes placed along time; (b) Arc-Diagram based: nodes have fixed vertical positions, and connections are shown as arcs or lines between horizontal lines; (c) Edge splatting: node duplication; (d) Flow Charts: node order change in the topological dimension; (e) Heat-maps: show node attributes per time step; (f) Polar layout: Use a polar layout to indicate time.

Figure 2 .

 2 Figure 2.30.: Examples of timeline visualizations for dynamic networks. Time runs from left to right, topology is abstracted in the remaining spatial dimension. (a) Falkowski et al., 2006, (b) Semantic Substrates, (Shneiderman & Aris, 2006), (c) GraphDice, Bezerianos, Chevalier, et al., 2010, (d) Massive Sequence views, van den Elzen et al., 2013, (e) TimeArcTrees, Greilich et al., 2009, (f) Parallel edge splatting,[START_REF] Burch | Parallel edge splatting for scalable dynamic graph visualization[END_REF], (g)Reda et al., 2011, (h) [START_REF] Sallaberry | Clustering, visualizing, and navigating for large dynamic graphs[END_REF], (i) GraphFlow, Cui et al., 2014, (j) NetVisia,[START_REF] Gove | NetVisia: Heat Map and Matrix Visualization of Dynamic Social Network Statistics and Content[END_REF], (k) TimeRadarTrees,Burch & Diehl, 2008, (l) Polar view of Massive Sequence Views, (van den[START_REF] Van Den Elzen | Dynamic Network Visualization with Extended Massive Sequence Views[END_REF].

Figure 2 .

 2 Figure 2.31.: Dynamic ego networks: (a) central node expanded to timeline (Shi, Wang, & Wen, 2011), (b) ego networks placed side-by-side (Farrugia, Hurley, & Quigley, 2011),

Figure 2 .Figure 2 .

 22 Figure 2.32.: Examples of space-time cube visualizations for dynamic networks. (a) Stacked node-link diagram with same layout for all time steps (Brandes & Corman, 2003), (b) stacked node-link diagram, with different layout per time steps, bending nodes to "worms"[START_REF] Ahmed | Visualisation and analysis of large and complex scale-free networks[END_REF], (c) layers in GraphAEL[START_REF] Erten | GraphAEL: Graph animations with evolving layouts[END_REF]

Figure 2 .

 2 Figure 2.34.: (a) 3D view and (b) transitions between views in the system by Federico, Aigner, Miksch, Windhager, and Zenk (2011).

Figure 2 .

 2 Figure 2.35.: Experiment conditions in Robertson et al. (2008): (a) traces superimposed, (b) small multiples (one per country).

Figure 3 .

 3 Figure 3.1.: Pipeline model in the task taxonomy for dynamic networks by J. Ahn et al. (2012).

Figure 4

 4 Figure 4.1.: GraphDiaries interface: a) Network view, b) Timeline, c) Layout stabilization slider, d) Navigation history, e) Node queries, f) Panel to change visibility of red, blue or gray elements in the Timeline, g) Animation playback panel.

  Figure A.2(a)) shows the network as a node-link diagram at the time step currently selected in the Timeline(Figure A.2(b)). The network view focuses on answering questions about the WHERE and WHAT dimensions, i.e. where do changes happen, and what changes happen. The WHEN dimension is the primary focus of the thumbnails and the slider in the Timeline. Each thumbnail shows the network at a particular time step and is used for temporal navigation. Difference highlighting in the thumbnails and the network view highlight differences between any given step and the one before, using the same visual encoding as in our staged transitions (Section 4.3): removed elements are colored red, new ones blue, remaining ones gray.Additional interface components, shown inFigure A.2, provide further support to relate the taxonomy's three dimensions. The layout slider (c) controls layout stability (supporting element tracking and exploration within the WHERE), as further explained in Section 4.2.2. Navigation history (d) and the time control panel (g) provide higherlevel playback and access to previously visited time steps (WHEN) in the network view. Conversely, options in (f) let users configure what information is shown (WHAT type of changes) in the timeline's thumbnails. Finally, the node query panel (e) lists node queries created by users, as detailed in Section 4.5.

  2.: Staged transitions with change highlighting (node fill colors describe arbitrary, domain-specific, attributes of those nodes): (a) initial state, (b) element removal (red halos), (c) remaining elements only, (d) layout adaption, (e) remaining elements at their new position, (f) element addition (blue halos), and (g) final state.

  (a) Changes at low zoom level (b) Changes at high zoom level

Figure 4 .

 4 Figure 4.3.: Size of node halos is independent from the zoom level, allowing for analysis at different levels of scale. (a) Using a low zoom level, change highlighting emphasizes changing subgraphs, while (b) a high zoom level reveals details.

Figure 4 .

 4 Figure 4.4.: Direct difference view between two time steps, showing the replacement of a very central node.

  Figure A.2(b) and Figure 4.5).

  Figure 4.6(b)).

  (a) Additions in September 2011 (b) Removals in October 2011

Figure 4 .

 4 Figure 4.5.: Dragging the yellow time cursor around the tick that indicates the time step for September 2011 (Sep-2011), shows which nodes and edges were (a) added from August to September (blue elements) and (b) which were removed from September to October (red elements). The example shows that a major part of new nodes added in September have been removed again in October

  Figure 4.7 shows a node query during an animated transition. Queries can be refined by the user at any time to include new nodes. Node queries are managed in the user interface panel depicted in Figure A.2(e).

Figure 4

 4 Figure 4.6.: Operations on the timeline: (a) Timeline with additional track on which the user placed selected time steps. Differences between thumbnails are computed on the basis of the time steps present in this track only. (b) Thumbnails in the timeline get squeezed to fit more timesteps.

Figure 4 .

 4 Figure 4.7.: Node query during transition.

  Figure A.2(a)), and the timeline with small multiples (Figure A.2(b)). The three conditions were as follows:

Figure 4 .

 4 Figure 4.8.: Example of the data set as used and laid out in the user study. Nodes are colored by research group. The actual background in the experiment was a very dark gray.

  Figure 4.9.: Error rate per Tech × Task. Error bars show the 95% confidence limit of the mean.

Contents 5 . 1

 51 Brain Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.2 Designing for Graph Comparison . . . . . . . . . . . . . . . . . . 116 5.3 Controlled User Study . . . . . . . . . . . . . . . . . . . . . . . . 120 5.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Figure 5 .

 5 Figure 5.1.: Three types of connectivity in the brain: (a) structural/anatomical connectivity, (b) functional connectivity, and (c) effective conncetivity. The figure shows schematic brain maps and adjacency matrices. Colors in the matrices indicate the weight of connection using color mapping (blue for low weight via green and yellow to red for high weight).

Figure 5 . 2 .:

 52 Figure 5.2.: Visualization techniques for brain connectivity. Left column, functional connectivity: (a) 3D spatial node-link diagram within the brain volume (courtesy of Erik Ziegler, Cyclotron Research Centre, Univ. of Liège, generated with ConnectomeViewer (Gerhard et al., 2011)), (b) 2D node-link diagram with biological layout[START_REF] Achard | A Resilient, Low-Frequency, Small-World Human Brain Functional Network with Highly Connected Association Cortical Hubs[END_REF], and (c) force-directed node-link accompanied with a spatial visualization showing actual positions of the nodes[START_REF] Nelson | A Parcellation Scheme for Human Left Lateral Parietal Cortex[END_REF]. Right column, anatomical connectivity: (d) fibers within the 3D volume of the brain, (e) fiber density ROI graph as a spatial node-link diagram[START_REF] Hagmann | Mapping the Structural Core of Human Cerebral Cortex[END_REF], and (f) matrix representation of fiber densities between ROIs[START_REF] Hagmann | Mapping the Structural Core of Human Cerebral Cortex[END_REF]. All images reproduced with authors' permissions.

Figure 5 . 3 .:

 53 Figure 5.3.: Possible ways of comparing two node link diagrams as illustrated by Gleicher et al. (2011).

Figure 5 . 4 .:

 54 Figure 5.4.: Examples of designs for node-link for comparison of weighted graphs.

  use bar charts (Figure5.5(a)), while[START_REF] Brandes | Asymmetric Relations in Longitudinal Social Networks[END_REF] use Gestaltlines (Figure5.6(b)) that encode edge weight using angle and length of vertical strokes (each stroke represents

Figure 5 . 5 .:Figure 5

 555 Figure 5.5.: Glyph designs to indicate changes in time series: (a) TimeMatrix (Yi et al., 2010), (b) Gestalt Lines (Brandes & Nick, 2011) (c) Time Series as small multiples[START_REF] Fuchs | Evaluation of alternative glyph designs for time series data in a small multiple setting[END_REF]

Figure 5

 5 Figure 5.7.: (a) Final encodings for node-link diagrams and matrices on the same data set. (b) Details of the selected edge weight encoding in matrices (left) and node-link diagrams (right), as appearing the the handout accompanying our study (The study used a red-green color encoding, while we ensured none of the participants was color blind).

Figure 5

 5 Figure 5.8.: Example from our controlled study: (a) node-link and (b) matrix representation of the same data (small, dense) for the region identification.

Figure 5 . 9 .:

 59 Figure 5.9.: Task error and task completion time per task for matrix (blue) and node-link (red) techniques. Error bars represent +/-2 standard errors.

  Figure 6.1.: The Matrix Cube. (a) Each time step of the network (1,2,3,4), is represented as an adjacency matrix. (b) The Matrix Cube results from stacking those matrices. Red edges of the cube hold nodes and correspond to the rows and columns of the constituent adjacency matrices; blue edges of the cube hold time steps. (c) Slicing the cube along one of the node dimensions yields node slices.

  Figure 6.2.: Illustration of (b) Matrix Cube for directed networks (a), in row-major notation (edges point from rows to column nodes). (c) Vertical node slices contain incoming edges (In-slices), (d) horizontal node slices contain outgoing edges (Out-slices)

Figure 6

 6 Figure 6.3.: Cubix UI screenshot. a) Cubelet Widget, b) Cell color encoding options, c) Cell shape encoding options, d) Additional cell options, e) Matrix ordering options, f) Time range slider, g) Cell weight filter with histogram indicating edge weight distribution, h) Cell opacity slider for filtered (F) and visible (V) cells. i) General edge visibility options, j) transition speed slider.

2 . 3 . 4 . 5 .

 2345 Projection flattens the cube along one dimension; time flattening or node flattening. Vectors in each direction get flattened into a single visible cell. Shift includes the translation of time and node slices along all three spatial dimensions. Rotation includes the rotation of the cube along all three spatial dimensions and the rotation of individual slices along the vertical spatial axis. Filtering is the filtering of cells/edges according to their weight.

Figure 6

 6 Figure 6.4.: Operations on the Matrix Cube, supported in Cubix.

Figure 6

 6 Figure 6.5.: Cubix View design space. Columns indicate operations applied to the cube. Rows indicate operations applied to time (red × red) and node slices (blue × red), respectively. (a) 3D view, (b) time-projection view, (c) node-projection view, (d) time small multiples, (e) node small multiples, (f) time-slice-rotation, and (g) node-slice-rotation.

  Figure 6.6.: Different states of the Cubelet widget indicating the current view of the Matrix Cube. (a) The N × N face is shaded and selected slices highlighted, (b) slicing along the time dimension with selected slice highlighted, and (c) slicing along the node dimension. Red slices indicate slices the user has selected, while the others are hidden.

. 3 .

 3 Its axes are labeled with author names and dates, respectively. The initial questions we can answer from this first overview include all three dimensions of our taxonomy in Chapter 3 (WHEN, WHERE WHAT): Q1) Size: How big is the network, i.e. how many nodes and time steps? (WHERE) Q2) Density: How dense is the network approximately? (WHERE, WHEN) Q3) Clusters: How are edges distributed in time and topology? (WHERE, WHEN) Q4) Attribute distribution: How are edge attributes distributed in time and topology? (WHERE, WHEN) Q5) Trends: Is there a clear trend over time and where are the anomalies? (WHAT)The network shown contains 11 nodes and 6 time steps (Q1), and appears of medium density (Q2). By default, cell size and color indicate the cell weight (number of publications per year) encoded redundantly. Color ranges from light gray for low edge weight, to dark blue for high edge weight (value encoding). Edges with high values stand out across the entire cube while smaller cells make it possible to see inside the cube.

Figure 6

 6 Figure 6.7.: Matrix Cube rotated. Cell size and color indicate edge weight; blue indicates low weight, red indicates high weight.

  (a) Time encoding for cell color, cells encode edge weight. (b) Value encoding for cell color, cells have equal size.

Figure 6 . 8 .:

 68 Figure 6.8.: Collaboration network in 3D view with (a) time encoding and (b) value encoding.

  Figure 6.9.: Cell color and size mappings in Time-projection view. (a) Cell color is mapped to time, and cell size to edge weight. (b) Constant cell size, with color mapped to edge weight shows accumulated edge weight over time. (c) Constant cell size and same color (gray) for all cells gives an idea of the number of edges in time vectors, independent of edge weight.

  Figure 6.10.: Superimposition of translucent cells in projected views using temporal encoding. (a) exact superimposition, (b) slightly shifting time slices gives a quick preview of previously-hidden cells.

Figure 6 .

 6 Figure 6.11.: Rotation of the node slice corresponding to Lea. Cells inside the rotated slices all have the same length, while their height is still mapped to edge weight.

  Figure 6.12.: Temporal trends in the node-projection view using different cell size encodings. Time runs from left to right.

Q1)

  Individual connections: When does a node collaborate with whom? (WHEN) Q2) Stable connections: Which nodes are always connected to the same nodes? (WHEN, WHEN) Q3) Unstable connections: Which nodes have connections with many different nodes, at different times? (WHEN, WHAT) Q4) Evolution of weight for an individual connection: How does the connectivity between an individual node pair evolves? (changes in the same time vector) (WHAT, WHEN) Q5) Trends in connectivity: Which trends in connection weight exist? (Comparison of time vectors) (WHAT, WHEN)

Figure 6 .

 6 Figure 6.13.: Node Small multiples view illustrating both color mappings. (a) Cells are colored according to edge weight, highlighting differences in weight across slices. (b) Mapping color to time-index facilitates topological comparisons across slices.

Figure 6 .

 6 Figure 6.14.: Three Node slices using value encoding. Cell size also encodes edge weight, while cell width is equal, linking cells in the same time vector visually.

Figure 6 .

 6 Figure 6.14 shows more detail for Lucas', Luise's and Nathan's slices. Comparing the evolution of connectivity (time vectors) shows that Nathan's collaborations are constant but slightly decreasing, while Louise yields the most increase in collaborations. She co-authors most of her publications with Lucas (Q4). Camille and Nathan are constant collaborators.

  Figure 6.15.: Time slices juxtaposed in the time-slices view. Darker cells correspond to more publications between people. Ordering by different time slices (a,b) reveals different patterns.

  Figure 6.17.: Effect of cell filtering in an almost complete network.

  Cube decomposition from 3D view (1) to Time small multiples view[START_REF] Bullmore | Complex Brain Networks: Graph Theoretical Analysis of Structural and Functional Systems[END_REF].

Figure 6 .

 6 Figure 6.18.: View transitions in cubix.

  Figure 6.19.: ALMA RMS data set. Antennas are ordered by name. (a) with four time slices seem to stick out 3D View, (b) Time-projection view, (c) Node-projection view, and (d) again Node-projection view while high weighted edges are filtered out.

  Figure 6.20.: ALMA DELAY data set in different views. (a) Node-projection view, (b) Time-projection view, (c) node slices as small multiples. View cropped to show only 21 out of 42 slices. Similar patterns (reversed) appear in the lower half.

  Figure 6.21.: ALMA AMP dataset. (a) Overview of AMP in which four time steps seem to stand out. (b) The time-projection view on AMP, showing an abnormal behavior of one specific antenna (1), various baseline specific outliers such as (2). A different behavior of the first eight antennas compared to the other ones is clearly visible: (3) vs. (4).

  Figure 6.22.: ALMA SNR data set showing similar patters to the RMS and AMP data sets.

Figure 6 .

 6 Figure 6.23.: Brain connectivity data. 8 regions over a sample of 15 time steps. (a) Overview reveals that some time steps are more active than others. (b) Detailed view of 16 time slices. (c) node-projection view, showing activity patterns and revealing one region more active than the others. (d) Individual node slice sending more than it receives.

Figure 7 .

 7 Figure 7.1.: Example of visualizing time and space: Napoleon's march to Moscow[START_REF] Tufte | The visual display of quantitative information[END_REF]

Figure 7 . 2 .:

 72 Figure 7.2.: Small multiples used for two different views on the same data set; left: per country, right: per year.

Figure 7 . 3 .:

 73 Figure 7.3.: Examples of techniques with different names, but similar concepts to show time and topology. (a) Parallel Edge Splatting (Burch et al., 2011), (b) Massive Sequence Views (van den Elzen et al., 2013), and (c) Pixel based flow maps in GraphFlow[START_REF] Sallaberry | Polar view of Massive Sequence Views[END_REF]

Figure 7 . 4 .:

 74 Figure 7.4.: Illustration of space-time cube afterHägerstrand(1970). On the bottom the two spatial dimensions, while time proceeds to the top. Curves in the cube describe the trajectory of peoples, involved a group event "meeting" (right trajectories), or interacting with a machine (left trajectory). Telephone call is an event between distant peoples.

Figure 7 . 7 .:

 77 Figure 7.6.: Examples of time flattening (a) the direct comparison of graphs, and (b) in Cubix.

Figure 7 . 8 .:

 78 Figure 7.8.: Colored time flattening.

Figure 7 . 9 .:

 79 Figure 7.9.: Examples of visualizations using colored time flattening. (a) Older nodes are faded to gray in TempoVis(J.-W. Ahn et al., 2011) (b) graph in Gevol[START_REF] Collberg | A system for graph-based visualization of the evolution of software[END_REF], and (c) stroke order in Chinese characters(Wikimedia, 2013). The color legends have been added.

Figure 7 .

 7 Figure 7.10.: Time juxtaposing.

Figure 7 .

 7 Figure 7.13.: Example of space cutting: (a) horizontal lines indicate train stops, vertical lines indicate times, and diagonal lines indicate trains (Marey, 1878), (b) Space cutting used to show road traffic[START_REF] Tang | Exploring video streams using slit-tear visualizations[END_REF].

Figure 7 .

 7 Figure 7.14.: Examples for space flattening: (a) edit history of a Wikipedia article in HistoryFlow (Viégas, Wattenberg, & Dave, 2004), (b) space flattening showing temporal connection patterns in a network in semantic substrates (Shneiderman & Aris, 2006).

  .15). Cubix provides two ways of sampling; (a) tilting the cube (Figure 7.16(a)) or rotating slices (Figure 7.16(b)).

Figure 7 .

 7 Figure 7.15.: The sampling operation.

Figure 7 .Figure 7 .

 77 Figure 7.16.: Sampling in Cubix, by (a) tilting the cube, and (b) rotating individual slices

Figure 7 .

 7 Figure 7.19.: Different inner structures in a space-time cube.

Figure 7 .

 7 Figure 7.19 only shows eight possible examples of inner structures, defined by three properties: density, variability in position, and whether moving objects or matrix data is visualized. However, many more structures are possible. For example, moving objects can change in color or shape over time[START_REF] Dwyer | Visualising a fund manager flow graph with columns and worms[END_REF], or disappear and reappear. However, four dimensions are however enough to capture the most important properties of inner structures, namely: density, variability in positions, variability in visual attributes, and object lifespan. We review them here.

Figure 7 .

 7 Figure 7.20.: Examples of inner structures within space time cubes. (a) Earthquakes, illustration after N. Andrienko and Andrienko (2006), (b) Fund manager holdings[START_REF] Dwyer | Visualising a fund manager flow graph with columns and worms[END_REF], (c) Trajectories in GeoTime, illustration afterKapler and Wright (2004), (d) Signals between antennas (Cubix, Chapter 6), (e) Brain connectivity (Cubix, Chapter 6), (f) Surveillance video(Daniel & Chen, 2003).

Figure 7 .

 7 Figure 7.21.: Borders of countries on the territory of later Yugoslavia, in different years (Kids Britannica, 2014).

Figure 7 .Figure 7 .

 77 Figure 7.23.: CommonGIS (G.Andrienko & Andrienko, 1999)

Figure 7 .

 7 Figure 7.25.: Examples of operations supported in Tardis (Carpendale et al., 1999); (a) time chopping + yaw rotation. (b) Time and Space Cutting in 3D Rendering, (c) Semantic filtering, (d) 3D fisheye distortion[START_REF] Carpendale | Case study: visual access for landscape event based temporal data[END_REF].

Figure 7 .

 7 Figure 7.26.: Examples for space-time cubes used in video analysis. (a) Diva (Mackay & Beaudouin-Lafon, 1998), (a) Video Cubism[START_REF] Fels | Techniques for interactive video cubism (poster session)[END_REF], (c) Khronos Projector(Cassinelli & Ishikawa, 2005) (d) V 3(Daniel & Chen, 2003).

Figure 7 .

 7 Figure 7.27.: Views on the space-time cube in VISUAL TimePAcTS (Vrotsou, Forsell, & Cooper, 2010): (a) space Flattening on activities, (b) oblique flattening, (c) space flattening on individuals, (d) sharing illustrated, and (e) the result of shearing.

Figure 7 .

 7 Figure 7.28.: Examples of 3D visualizations partially or not captured by our taxonomy. (a) 3D scatter plot (3D scatterplot, 2007), (b) Time-time cube (Van Wijk & Van Selow,1999), and (c) operations on complex 3D data[START_REF] Mcguffin | Using deformations for browsing volumetric data[END_REF]

Figure 8

 8 Figure 8.1.: Visualizations and techniques in GraphDiaries (Chapter 4): (a) Change highlighting and slider navigation, (b) staged animated transitions and node query, and (c) temporal multiples.

Figure 8

 8 Figure 8.2.: Designs for comparing two weighted graphs (Chapter 5): (a) Selected designs based on node-link and adjacency matrix representations, (b) condition from the experiment comparing the two best designs for both representations.

Figure

  Figure A.1.: Steps performed during one iteration of an evolutionary algorithm.

Figure A. 1

 1 Figure A.1 summarizes the main steps of the iterative process of an EA. Each one is controlled by parameters and specific algorithms. The individual steps are as follows:

  Figure A.2.: User Interface of GraphCuisine showing (a) the population view displaying representative graphs of the current population (population view), (b) a detail view of selected graph (detail view), (c) an imported graph (data set view), (d) the parallel coordinates plot showing the distribution of measures in the population (measures view) and (e) the table with the graph measures of the representative graphs (measures table). The position of the white markers in the measures view indicate the target measures while the red line heighights the measures of the selected graph.

Figure A. 3 .:

 3 Figure A.3.: Fitness curve showing the evolution of the population fitness in a logarithmic scale. Better fitness values are closer to 0. The blue line shows the value of the fittest individual in the population and the black shows the mean fitness. The stronger black vertical lines indicate the generations that have been presented to the user and upward peaks in the blue curve show that the user has changed the target measures, leading to a decreased overall fitness of all individuals in the current population.

Figure A. 4 .

 4 Figure A.4.: Graph creation process: (1) Parameters encoded in genes of a chromosome, (2) employ graph generators, (3) extract graph measures, and (4) calculate fitness value.

  Figure A.5.: Examples of Graphs from a random chromosome initialization.

  Figure A.6.: Examples of small-world networks created with GraphCuisine.

  Figure A.7.: scale-world networks using, among others, the Eppstein-Wang generator.

  Figure A.8.: Three randomly picked graphs from the same population showing convergence across almost all measures after five generations (population size=50). Measures showing "-" have been disabled in order to increase evolution speed.

Figure A. 9

 9 Figure A.9 shows the interface of GraphTabasco. On the left (a) a graph created with GraphCuisine has been imported, and on the right (b) a set of graphs (read left-right, top-bottom). Blue and orange edges indicate added and removed edges, respectively.Variation is currently controlled by only one parameter (Degree of Variance, (e)) indicating the percentage of added and removed edges. However, there is a potentially large number of parameters (number of edges and nodes, to be added, nodes and edges to be removed, variability of values, etc.).

  As already mentioned in Section A.5, we want to extend the scope of GraphCusisine towards dynamic networks. Besides proper measures to evaluate dynamic networks by an automatic optimization algorithm, a problem remains the effective visual comparison of the generated networks. 's quartet[START_REF] Anscombe | Graphs in Statistical Analysis[END_REF]. (a) Values in four different data samples (1-4), (b) statistical measures are the same across all four samples, (c) scatter plots showing actual differences in the four samples. 1.2 Infovis Pipeline model according to Card et al. (1999) . . . . . . . . . . 1.3 Handdrawing of a social network by Moreno, 1932 . . . . . . . . . . . 1.4 Examples of dynamic network visualizations. (a) Small multiples: one picture per time point, read from left to right. (b) Parallel edge splatting: time also running from left to right, nodes are ordered on vertical axis, edges indicated between them. (c) Space-time cube: node-link diagram getting extruded into additional spatial dimension (from bottom to top), simulating time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Unfolding the earth: different projections by van Wijk (2008), each showing a different aspect of the earth's topology. . . . . . . . . . . . . 1.6 Visualizations to unfold dynamic networks, presented in this dissertation. 2.1 Graphs: (a) with self-edges, (b) directed graph (digraph), (c) multigraph, (d) weighted graph, and a combination of all (e) weighted directed multigraph with self-edges. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Motifs in a protein-interaction network (left) abstracted in a visualization

  . . . . . . . . . . . . . . . . . . . . . 2.4 Representative examples of complex graphs, described along three dimensions Heterogeneity, Randomness, and Modularity Sole and Valverde (2004). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Conversion between (orbital) temporal units (Aigner et al., 2011). . . . 2.6 Examples of circular time visualization. (a) Spiral glyph showing temperature along the year (one rotation), and (b) energy consumption during the year, organized by day (Van Wijk & Van Selow, 1999) . . . . . . . 2.7 Categorization according to Aigner et al. (2011): Instants can refer to (a) a discrete point in time, (b) a unit on a higher-level of granularity. Intervals include multiple instants. (c) an interval spanning multiple instants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Dragging the yellow time cursor around the tick that indicates the time step for September 2011 (Sep-2011), shows which nodes and edges were (a) added from August to September (blue elements) and (b) which were removed from September to October (red elements). The example shows that a major part of new nodes added in September have been removed again in October . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.6 Operations on the timeline: (a) Timeline with additional track on which the user placed selected time steps. Differences between thumbnails are computed on the basis of the time steps present in this track only. (b) Thumbnails in the timeline get squeezed to fit more timesteps. . . . . . 94 4.7 Node query during transition. . . . . . . . . . . . . . . . . . . . . . . . 94 4.8 Example of the data set as used and laid out in the user study. Nodes are colored by research group. The actual background in the experiment was a very dark gray. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.9 Error rate per Tech × Task. Error bars show the 95% confidence limit of the mean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.10 Time (seconds) per Tech × Task. Error bars show the 95% confidence interval of the mean. . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.1 Three types of connectivity in the brain: (a) structural/anatomical connectivity, (b) functional connectivity, and (c) effective conncetivity. The figure shows schematic brain maps and adjacency matrices. Colors in the matrices indicate the weight of connection using color mapping (blue for low weight via green and yellow to red for high weight). . . . . . . . . 110 5.2 Visualization techniques for brain connectivity. Left column, functional connectivity: (a) 3D spatial node-link diagram within the brain volume (courtesy of Erik Ziegler, Cyclotron Research Centre, Univ. of Liège, generated with ConnectomeViewer (Gerhard et al., 2011)), (b) 2D nodelink diagram with biological layout

5. 3

 3 Possible ways of comparing two node link diagrams as illustrated byGleicher et al. (2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.4 Examples of designs for node-link for comparison of weighted graphs. . 117 5.5 Glyph designs to indicate changes in time series: (a) TimeMatrix[START_REF] Yi | TimeMatrix: Visualizing Temporal Social Networks Using Interactive Matrix-Based Visualizations[END_REF], (b) Gestalt Lines[START_REF] Brandes | Asymmetric Relations in Longitudinal Social Networks[END_REF]) (c) Time Series as small multiples[START_REF] Fuchs | Evaluation of alternative glyph designs for time series data in a small multiple setting[END_REF] . . . . . . . . . . . . . . . . . . . . 118 5.6 Examples of all visual encodings examined to facilitate the comparison of weighted graphs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 (a) Final encodings for node-link diagrams and matrices on the same data set. (b) Details of the selected edge weight encoding in matrices (left) and node-link diagrams (right), as appearing the the handout accompanying our study (The study used a red-green color encoding, while we ensured none of the participants was color blind). . . . . . . . . . . . . . . . . . 5.8 Example from our controlled study: (a) node-link and (b) matrix representation of the same data (small, dense) for the region identification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9 Task error and task completion time per task for matrix (blue) and nodelink (red) techniques. Error bars represent +/-2 standard errors. . . . . 6.1 The Matrix Cube. (a) Each time step of the network (1,2,3,4), is represented as an adjacency matrix. (b) The Matrix Cube results from stacking those matrices. Red edges of the cube hold nodes and correspond to the rows and columns of the constituent adjacency matrices; blue edges of the cube hold time steps. (c) Slicing the cube along one of the node dimensions yields node slices. . . . . . . . . . . . . . . . . . . . . . . 6.2 Illustration of (b) Matrix Cube for directed networks (a), in row-major notation (edges point from rows to column nodes). (c) Vertical node slices contain incoming edges (In-slices), (d) horizontal node slices contain outgoing edges (Out-slices) . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Cubix UI screenshot. a) Cubelet Widget, b) Cell color encoding options, c) Cell shape encoding options, d) Additional cell options, e) Matrix ordering options, f) Time range slider, g) Cell weight filter with histogram indicating edge weight distribution, h) Cell opacity slider for filtered (F) and visible (V) cells. i) General edge visibility options, j) transition speed slider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Operations on the Matrix Cube, supported in Cubix. . . . . . . . . . . . 6.5 Cubix View design space. Columns indicate operations applied to the cube. Rows indicate operations applied to time (red × red) and node slices (blue × red), respectively. (a) 3D view, (b) time-projection view, (c) node-projection view, (d) time small multiples, (e) node small multiples, (f) time-slice-rotation, and (g) node-slice-rotation. . . . . . . . . . . . . 6.6 Different states of the Cubelet widget indicating the current view of the Matrix Cube. (a) The N ×N face is shaded and selected slices highlighted, (b) slicing along the time dimension with selected slice highlighted, and (c) slicing along the node dimension. Red slices indicate slices the user has selected, while the others are hidden. . . . . . . . . . . . . . . . . . 6.7 Matrix Cube rotated. Cell size and color indicate edge weight; blue indicates low weight, red indicates high weight. . . . . . . . . . . . . . 6.8 Collaboration network in 3D view with (a) time encoding and (b) value encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.9 Cell color and size mappings in Time-projection view. (a) Cell color is mapped to time, and cell size to edge weight. (b) Constant cell size, with color mapped to edge weight shows accumulated edge weight over time. (c) Constant cell size and same color (gray) for all cells gives an idea of the number of edges in time vectors, independent of edge weight. . . . . 141 6.10 Superimposition of translucent cells in projected views using temporal encoding. (a) exact superimposition, (b) slightly shifting time slices gives a quick preview of previously-hidden cells. . . . . . . . . . . . . . . . 141 6.11 Rotation of the node slice corresponding to Lea. Cells inside the rotated slices all have the same length, while their height is still mapped to edge weight. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6.12 Temporal trends in the node-projection view using different cell size encodings. Time runs from left to right. . . . . . . . . . . . . . . . . . 143 6.13 Node Small multiples view illustrating both color mappings. (a) Cells are colored according to edge weight, highlighting differences in weight across slices. (b) Mapping color to time-index facilitates topological comparisons across slices. . . . . . . . . . . . . . . . . . . . . . . . . 145 6.14 Three Node slices using value encoding. Cell size also encodes edge weight, while cell width is equal, linking cells in the same time vector visually. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.15 Time slices juxtaposed in the time-slices view. Darker cells correspond to more publications between people. Ordering by different time slices (a,b) reveals different patterns. . . . . . . . . . . . . . . . . . . . . . . 147 6.16 Exploring individual time slices; (a) Individual slice (2009) is hovered in the 3D view as the user hovers over the corresponding slice label, (b) selection of two slices (2007, 2009) for direct comparison in the timeprojection view. In (b) purple cells belong to 2007, while orange cells belong to 2009. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.17 Effect of cell filtering in an almost complete network. . . . . . . . . . . 149 6.18 View transitions in cubix. . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.19 ALMA RMS data set. Antennas are ordered by name. (a) with four time slices seem to stick out 3D View, (b) Time-projection view, (c) Nodeprojection view, and (d) again Node-projection view while high weighted edges are filtered out. . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 6.20 ALMA DELAY data set in different views. (a) Node-projection view, (b) Time-projection view, (c) node slices as small multiples. View cropped to show only 21 out of 42 slices. Similar patterns (reversed) appear in the lower half. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 7.27 Views on the space-time cube in VISUAL TimePAcTS (Vrotsou et al., 2010): (a) space Flattening on activities, (b) oblique flattening, (c) space flattening on individuals, (d) sharing illustrated, and (e) the result of shearing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.28 Examples of 3D visualizations partially or not captured by our taxonomy. (a) 3D scatter plot (3D scatterplot, 2007), (b) Time-time cube (Van Wijk & Van Selow, 1999), and (c) operations on complex 3D data (McGuffin et al., 2003) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Visualizations and techniques in GraphDiaries (Chapter 4): (a) Change highlighting and slider navigation, (b) staged animated transitions and node query, and (c) temporal multiples. . . . . . . . . . . . . . . . . . 8.2 Designs for comparing two weighted graphs (Chapter 5): (a) Selected designs based on node-link and adjacency matrix representations, (b) condition from the experiment comparing the two best designs for both representations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 The Matrix Cube (Chapter 6). (a) 3D view showing an almost complete antenna signals network, (b) 3D and derived views showing a brain connectivity network. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Illustrations from the space-time cube framework (Chapter 7). (a) Selection of space-time cube operations, (b) selection of types of inner structures in space-time cubes . . . . . . . . . . . . . . . . . . . . . . A.1 Steps performed during one iteration of an evolutionary algorithm. . . . A.2 User Interface of GraphCuisine showing (a) the population view displaying representative graphs of the current population (population view), (b) a detail view of selected graph (detail view), (c) an imported graph (data set view), (d) the parallel coordinates plot showing the distribution of measures in the population (measures view) and (e) the table with the graph measures of the representative graphs (measures table). The position of the white markers in the measures view indicate the target measures while the red line heighights the measures of the selected graph. A.3 Fitness curve showing the evolution of the population fitness in a logarithmic scale. Better fitness values are closer to 0. The blue line shows the value of the fittest individual in the population and the black shows the mean fitness. The stronger black vertical lines indicate the generations that have been presented to the user and upward peaks in the blue curve show that the user has changed the target measures, leading to a decreased overall fitness of all individuals in the current population. . . . . . . . . A.4 Graph creation process: (1) Parameters encoded in genes of a chromosome, (2) employ graph generators, (3) extract graph measures, and (4) calculate fitness value. . . . . . . . . . . . . . . . . . . . . . . . . . . A.5 Examples of Graphs from a random chromosome initialization. . . . . .

  Contents 2.1 Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2 Characteristics of Time . . . . . . . . . . . . . . . . . . . . . . . 18 2.3 Dynamic Networks . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4 Network Visualization . . . . . . . . . . . . . . . . . . . . . . . . 29 2.5 Network Navigation . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.6 Visualizations for Dynamic Networks . . . . . . . . . . . . . . . . 42 2.7 Dynamic Graph Layout . . . . . . . . . . . . . . . . . . . . . . . 55 2.8 Comparative Studies . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

•

  Varying node-presence: Both, nodes and edges are added or removed to the network. Nodes not present in the network are unable to create connections. Note that if a node gets removed from the network its incident edges get automatically removed, as well. Examples of dynamic networks with varying node-presence are group conversations (people can join and leave the group), or food webs (species may die-out or being otherwise removed from the ecosystem).• Varying attribute values: attribute values associated with nodes and/or edges over time, e.g. strength of brain connectivity, or strengths of friendship between people. • Transactions: Transactions represent individual events being send from one node

Table 2 .

 2

1.: Commands and events defined in Pajek

Table 2 .

 2 2.: Representative list of visualizations of dynamic networks and the techniques they use.

	System/Name		Citation	Temporal Multiples	Animated Sequences	Aggregation	Nesting	Ego Networks	Timeline	Space-Time Cube
	GraphAEL		Erten et al., 2003	x x					x
	Ploceus		Liu et al., 2011	x
	MatrixFlow		Perer & Sun, 2012	x
	-		Boyandin et al., 2012	x
	Maray		Friedrich & Eades, 2001		x
	Visone		Brandes & Wagner, 2003		x
	-		J.-W. Ahn et al., 2011		x
	SoNIA		Moody et al., 2005; Bender-deMoll & McFar-		x
			land, 2005; McFarland & Bender-deMoll, n.d.
	DiffAni		Rufiange & McGuffin, 2013		x
	Information	Visualization	Chi et al., 1998			x
	Spreadsheets
	-		Brandes et al., 2004			x			x
	-		Erten et al., 2004			x
	-		Andrews et al., 2009			x
	HoneyComb		van Ham et al., 2009			x
	Netvisia		Gove et al., 2011			x			x
	-		Hascoët & Dragicevic, 2012			x
	-		Hadlak et al., 2013				x
	TimeMatrix		Yi et al., 2010				x
	Gestalt Lines		Brandes & Nick, 2011				x
	-		Stein et al., 2010				x
	-		Farrugia et al., 2011					x
	1.5D		Shi et al., 2011					x x
	-		Falkowski et al., 2006						x
	-		Sallaberry et al., 2013						x
	-		Reda et al., 2011						x
	Massive Parallel Sequence	van den Elzen et al., 2013						x
	Views
	GraphFlow		Cui et al., 2014						x
	Paralel Edge Splatting	Burch et al., 2011						x
	Semantic Substrates	Shneiderman & Aris, 2006						x
	GraphDice		Bezerianos, Chevalier, et al., 2010						x
	-		Diehl et al., 2001							x
	-		Dwyer & Eades, 2002							x
	-		Brandes & Corman, 2003						x x
	2.5D		Brandes et al., 2004			x			x x
	-		Gaertler & Wagner, 2006							x
	-		Federico et al., 2011	x		x				x

Contents 3.1 Tasks for Information Visualization . . . . . . . . . . . . . . . . . 66 3.2 Task Dimensions for Dynamic Networks . . . . . . . . . . . . . . 71 3.3 1-Dimensional Tasks . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.4 Compound Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.5 Higher-level Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.6 From Data Tasks to Visual Tasks . . . . . . . . . . . . . . . . . . 77 3.7 Implications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.8 Comparison with the Taxonomy by Ahn et al. (2012) . . . . . . . . 79 3.9 Conclusion and Limitations . . . . . . . . . . . . . . . . . . . . . 80

Table 3 .

 3

2.: Representative list of possible changes to primitive and compound graph elements.

  Animation time was 1 second. Participants could play back and pause, as when watching videos. As in the FB condition, participants could either click on the corresponding thumbnail in the timeline or use arrow keys to navigate between consecutive steps. Graph Diaries provided participants with the major techniques presented earlier in this chapter, extending the capabilities of VA: staged animation with change highlighting between any step, inter and intra time step navigation, and difference visualization on the thumbnails. Because of the staged nature of the transitions, default animation time was set to 1.2 seconds, as explained earlier. All other features of GraphDiaries: layout stabilization, node queries, temporal aggregation, animation speed change and history, were removed.

GD:

  Comparing graphs can help exploring dynamic networks by comparing individual time steps. The matrix design can be integrated into GraphDiaries to show directed differences between time steps in the network view. It remains to be investigated how many graphs can be directly compared with our glyph design. The Matrix Cube . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 6.2 Cubix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

	6. Unfolding Networks with the Matrix
	Cube
	Contents
	6.1
	***

6.3 Walkthrough . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.4 Cell Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.5 Animated View Transitions . . . . . . . . . . . . . . . . . . . . . 150 6.6 Validation with Experts . . . . . . . . . . . . . . . . . . . . . . . 152 6.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

  Contents 7.1 Static Visualizations as Space-Time Cube Operations . . . . . . . . 168 7.2 Taxonomy of Space-Time Cube Operations . . . . . . . . . . . . . 177 7.3 The Inner Structure of Space-Time Cubes . . . . . . . . . . . . . . 185 7.4 Which Operations to Chose? . . . . . . . . . . . . . . . . . . . . . 189 7.5 Space-Time Cube Systems . . . . . . . . . . . . . . . . . . . . . . 198 7.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

7.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

Table 7 .

 7 1.: Compound operations decomposed.

	time flattening	time cutting* + time flattening
	Colored time flattening	time coloring + time flattening
	Time juxtaposing	(time cutting + space scaling + space shifting)* +
		time flattening
	Marey's schedule	curvilinear space cutting + yaw + unfolding
	Slit tears	(linear/curvilinear space cutting + yaw + [unfold-
		ing] + space shifting)*
	Sampling	(time drilling + time scaling + yaw)*
	3D rendering	[shading] + oblique flattening

In this dissertation I use the term Dynamic Network to describe networks with a temporal dimension, as opposed to static networks. See Section

2.3.

http://physics.nist.gov/cgi-bin/cuu/Value?plkt

Numbers in the figure refer to references in the paper by[START_REF] Hadlak | In Situ Exploration of Large Dynamic Networks[END_REF]

The fact that animations are engaging may account for better subjective results, but not as indicative of for better objective results.

"Without control,[the participants] had to find their target very rapidly: 'It's hard to check all the flying balls!' However, participants in all groups did find flying balls to be exciting."(Robertson et al., 2008, p.7)

Example tasks in this list are taken from[START_REF] Amar | Low-Level Components of Analytic Activity in Information Visualization[END_REF].

Example tasks in this list are taken from[START_REF] Lee | Task taxonomy for graph visualization[END_REF]

Circled letters refer to interface components in Figure6.[START_REF] Ahn | Pipeline model in the task taxonomy for dynamic networks[END_REF]

We discussed the possibility that the antenna in 1 could belong to group

. This was ruled out because of the way the data was generated, with antennas sorted alphabetically, and thus by type.

Hägerstrand describes the space-time cube as to "help us to develop a kind of socio economic web model"(Hägerstrand, 1970, p. 10).

Flattening consists in aggregating a space-time object into a lower-dimensional space-time object (e.g., projecting a volume onto a surface),

Kveladze & Kraak, 2012, p. 7

[START_REF] Kraak | The Space-Time Cube revisited from a Geovisualization Perspective[END_REF]Kraak, , p.1991

I define the term sub cube here, since Kraak did not provide a proper term for that concept.

http://jgap.sourceforge.net

http://insitu.lri.fr/ ˜nhenry/socnets/realtreelike/Hiv.xml

Remerciements

First, I would like to thank my PhD advisors Jean-Daniel Fekete and Emmanuel Pietriga for their inspiration, their critique, time for discussions, permanent availability, and wise patience, during the entire period of my PhD research. I could never have imagined any better super-visors. Further, I want to thank Emmanuel Pietriga and Fanny Chevalier for encouraging me to pursue a PhD research.

Acknowledgements

We would like to thank Thomas Grabowski, Jr., MD, Dr. Tara Madhyashta, Dr. Kayo Inoue from The Integrated Brain Imaging Center (IBIC) at University of Washington, and to Dr. Arjun Bansal from Harvard Medical School for their valuable input that went into this work.

This project has been started by my coauthors Basak Alper (University of California, Santa Barbara, CA), Nathalie Henry-Riche (Microsoft Research, Seattle, WA), Tobias Isenberg (INRIA, France), and Jean-Daniel Fekete (INRIA, France). I joined the project after the task analysis for brain analysis (Section 5.1). With Basak, I explored and developed the designs for both visualizations, as well as designed and conducted the controlled user study. I further was responsible for creating and adjusted the synthesized data (see Section A.5). This chapter slightly extends the original publication in (i) discussion of related work on graph comparision, (ii) the description of our designs, and (iii) the final conclusions.

Acknowledgements This work was partially supervised by Evelyne Lutton (INRIA).

Interface design and generator design, as well as major parts of the chromosome encoding origins from me. Programming was shared with André Spritzer (Universidade Federal do Rio Grande do Sul, Brazil), while he was responsible for the evolutionary algorithm. Discussions majorly took part between André and me.

1-Dimensional Tasks

• Which student was called the most (overall) during the 6 week term [START_REF] Purchase | Extremes are better: Investigating mental map preservation in dynamic graphs[END_REF] • Which of these nodes has the most edges: [yellow, green, red, purple] [START_REF] Saffrey | The "mental map" versus "static aesthetic" compromise in dynamic graphs: a user study[END_REF] • Which of these groups of nodes has the most edges: [yellow, green, red, purple] [START_REF] Saffrey | The "mental map" versus "static aesthetic" compromise in dynamic graphs: a user study[END_REF] • Find a node that has only one connection on weeks 3, 4 and 5. (Farrugia & Quigley, 2011)

When? -Temporal Tasks

Tasks of the WHEN dimension are of the form WHERE + WHAT = WHEN, which translates into "When does a particular event happen to an element?".

• When does node n disappear?

• When are nodes n 1 and n 2 connected?

• How long does it take until clusters c 1 and c 2 are completely merged?

• In what order do nodes n 1 until n 10 appear?

• In which time slice is the shortest path between these two nodes: [yellow,green]? [START_REF] Saffrey | The "mental map" versus "static aesthetic" compromise in dynamic graphs: a user study[END_REF] • In which time slice is the shortest path between these two groups of nodes: [yellow,green]? [START_REF] Saffrey | The "mental map" versus "static aesthetic" compromise in dynamic graphs: a user study[END_REF] • For how many weeks does the connection between Node 1 and Node 6 last? (Farrugia & Quigley, 2011)

What? -Behaviour Tasks

Tasks of the WHAT dimension are of the form WHERE + WHEN = WHAT, which translates into "What happens to a particular element at a given time?".

• How does the edge weight of edge e change over time?

• How does the degree of node n evolve over time?

• What happens to cluster c between times t 1 and t 2 ?

• Are nodes n 1 and n 2 connected at time t?

• Which two edges appear together exactly once? (Archambault et al., 2011a) • How does the number of connections of Node 1 change in weeks 2, 3 and 4? (Farrugia & Quigley, 2011) Each time we pose a query, we restrict some dimensions, while returning a set of values that are used as input into our action. Recalling the task:

How often is node n present in the network?, all the changes across time steps. The following chapters propose techniques to address these specific issues.

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(1)

(b) Our conceptual space-time cube has three major axes: a time axis, and two orthogonal axes that we call data axes. The 2D plane formed by the two data axes is referred to as the data plane.

(1) ( 2)

(1)

(1)

(1)

(a)

(1) ( 2)

(1)

(1)

(b)

Figure 7.12.: Space cutting and space flattening.

Space Cutting

Space cutting consists in extracting a planar cut in a direction perpendicular to the data plane (Figure 7.12(a)).

Cubix allows space cutting as the user selects a single node slice in the 3D or nodeprojection view. A single node-slice shows the dynamic ego network of the corresponding node. While the Matrix Cube provides a geometry that allows for easy space cutting, a space cut in node-link diagram is less intuitive. The only space-time cube system for node-link diagrams that allows for multiple operations is the one described by [START_REF] Brandes | Visual Understanding of Metabolic Pathways Across Organisms Using Layout in Two and a Half Dimensions[END_REF] (see Section 2.6).

Space cutting has also been employed for visualizing temporal data. In the 19th century, Marey created a visualization of train connections between major french cities that employs space cutting (Figure 7.13(a)). Marey created a visualization using space cutting to visualize train connections between major french cities (Figure 7.13(a)). Space is cut along the rails connecting cities and diagonal lines indicate positions of trains at The feedback we got from the experts we provided with Cubix was very positive and we continue on working with these experts and applying Matrix Cubes to their problems: for example, we want to investigate how we can represent multi-variate networks and allow for comparison of multiple dynamic networks with Matrix Cubes.

Chapter 7: A Framework for Unfolding Space-Time Cubes Cubix is a spacetime cube system, since it implements the cube explicitly and allows users to apply

Appendices

List of Tables 2.1 Commands and events defined in Pajek [START_REF] Mrvar | Analysis and visualization of temporal networks using pajek[END_REF]