Fast filtering and animation of large dynamic networks
Abstract
Detecting and visualizing what are the most relevant changes in an evolving network is an open challenge in several domains. We present a fast algorithm that filters subsets of the strongest nodes and edges representing an evolving weighted graph and visualize it by either creating a movie, or by streaming it to an interactive network visualization tool. The algorithm is an approximation of exponential sliding timewindow that scales linearly with the number of interactions. We compare the algorithm against rectangular and exponential sliding timewindow methods. Our network filtering algorithm: i) captures persistent trends in the structure of dynamic weighted networks, ii) smoothens transitions between the snapshots of dynamic network, and iii) uses limited memory and processor time. The algorithm is publicly available as opensource software.
Fast filtering and animation of large dynamic networks
Przemyslaw A. Grabowicz 
IFISC, UIB, Spain 
MPISWS, Germany 
Luca Maria Aiello 
Yahoo! Research, Spain 
Filippo Menczer 
CNetS, Indiana University, USA 
Network visualization is widely adopted to make sense of, and gain insight from, complex and large interaction data. These visualizations are typically static, and incapable to deal with quickly changing networks. Dynamic graphs, where nodes and edges churn and change over time, can be effective means of visualizing evolving networked systems such as social media, similarity graphs, or interaction networks between real world entities. The recent availability of live data streams from online social media motivated the development of interfaces to process and visualize evolving graphs. Dynamic visualization is supported by several tools [?, ?, ?, ?]. In particular, Gephi [?] supports graph streaming with a dedicated API based on JSON events and enables the association of timestamps to each graph component.
While there is some literature on dynamic layout of graphs [?, ?, ?], not much work has been done so far about developing information filtering techniques for dynamic visualization of large and quickly changing networks. Yet, for large networks in which the rate of structural changes in time could be very high, the task of determining the nodes and edges that can represent and transmit the salient structural properties of the network at a certain time is crucial to produce meaningful visualizations of the graph evolution.
We contribute to filling this gap by presenting a new graph filtering and visualization tool called fastviz that processes a chronological sequence of weighted interactions between the graph nodes and dynamically filters the most relevant parts of the network to visualize. Our algorithm:

captures persistent trends in structural properties of dynamic networks, while removing no longer relevant portions of the networks and emphasizing old nodes and links that show fresh activity;

smoothens transitions between the snapshots of a dynamic network by leveraging shortterm and longterm node activity;

uses limited memory and processor time and is fast enough to be applied to large live data streams and visualize their representation in the form of a network.
The reminder of this paper is structured as follows. First, we introduce related studies in Section 2. Next, we introduce the fastviz filtering method for dynamic networks in Section 3. We compare this method against rectangular and exponential sliding timewindow approaches and show what are the advantages of our method. Finally, we present visualizations created with our filtering methods for four different real datasets in Section 4, and conclude the study.
Graph drawing [?, ?] is a branch of information visualization that has acquired great importance in complex systems analysis. A good pictorial representation of a graph can highlight its most important structural components, logically partition its different regions, and point out the most central nodes and the edges on which the information flows more frequently or quickly. The rapid development of computeraided visualization tools and the refinement of graph layout algorithms [?, ?, ?, ?] allowed increasingly higherquality visualizations of large graphs [?]. As a result, many open tools for static graph analysis and visualization have been developed in the last decade. Among the best known we mention Walrus [?], Pajek [?, ?], Visone [?], GUESS [?], Networkbench [?], NodeXL [?], and Tulip [?]. Studies about comparisons of different tools have also been published recently [?].
The interest in depicting the shape of online social networks [?, ?] and the availability of live data streams from online social media motivated the development of tools for animated visualizations of dynamic graphs [?], in offline contexts, where temporal graph evolution is known in advance, as well as in online scenarios, where the graph updates are received in a streaming fashion [?]. Several tools supporting dynamics visualization emerged, which include GraphAEL [?], GleamViz [?], Gephi [?], and GraphStream [?]. Despite static visualizations based on timewindows [?], alluvial diagrams [?], or matrices [?, ?, ?] have been explored as solutions to capture the graph evolution, dynamic graph drawing remains the technique that has attracted more interest in the research community so far. Compared to static visualizations, dynamic animations present additional challenges: user studies have shown that they can be perceived as harder to parse visually, even though they have the potential to be more informative and engaging [?].
As a result, a large corpus of work about the theoretical concepts on good visualization practices, especially for dynamic graphs, has been produced in the last two decades. Besides the work done in defining efficient update operations on graphs [?, ?], several principles about good graph visualizations have been proposed and explored in different studies. Friedrich and Eades [?] defined highlevel guidelines for a good visualization of graph evolution with animations, including uniform, smooth and symmetrical movement of graph elements, with minimization of edge crossings and overviewing some techniques that make the visualization more enjoyable, such as fadeout deletion of nodes. Graph readability has been measured in user studies in relation to several tasks [?, ?, ?]; the experimental findings highlight the importance of visualization criteria such as minimizing bends and edge crossings and maximizing cluster separation in facilitating the viewer’s interpretation and understanding of the graph. A general concept that has been studied for long in relation to the quality of dynamic graph visualization is the mental map [?, ?, ?] that the viewer has of the graph structure. In practical terms, the placement of existing nodes and edges should change as little as possible when a change is made to the graph [?], under the hypothesis that if the mental map is preserved the parsing of the visual information is faster and more accurate. More recent work [?] has reappraised the importance of the mental map in the comprehension of a dynamic graph series, while identifying some cases in which it may help [?, ?] (e.g., memorability of the graph evolution, following long paths, recognition of recurrent patterns, tracking a large number of moving objects).
More in general, there are several open fronts in empirical research in graph visualization to identify the impact of certain factors on the quality of the animation (e.g., speed [?], interactivity [?]). An extensive overview of this aspect has been conducted recently by Kriglstein et al. [?]. Methods to preserve the stability of nodes and the consistency of the network structure leveraging hierarchical organization on nodes have been proposed [?, ?, ?, ?]. User studies have shown that hierarchical approaches that collapse several nodes in larger metanodes can improve graph readability in cases of high edge density [?]. The graph layout also has a significant impact on the readability of graphs [?]. Some work has been done to adapt spectral and forcedirected graph layouts [?] to incremental layouts that recompute the position of nodes at time based on the previous positions at time  minimizing displacement of vertices [?, ?, ?, ?] or to propose new “stressminimization” strategies to map the changes in the graph [?].
Although much exploration has been done in the visualization principles to achieve highlyreadable animations, two aspects have been overlooked so far.
First, not many techniques to extract and visualize the most relevant information from very large graphs have been studied yet. Graph decomposition has been used in a static context to increase the readability of the network by splitting it into modules to be visualized separately [?], while sliding timewindows have been employed to discard older nodes and edges in visualization of graph evolution [?]. A hierarchical organization of nodes according to some authority or centrality measure allows to visualize the graph at different levels of details, eliminating the need to display all nodes and edges at once [?]. Some work has been done about interactive exploration by blending different visualization paradigms [?] and timevarying clustering [?]. Indices to measure the relevance of events in a dynamic graph at both node and community level have also been proposed [?], even if they have not been applied to any graph animation task. Yet, none of these techniques has been tested on very large data and none of the modern visualization tools provide features for the detection of the most relevant components of a graph at a given time. On the other hand, quantitative studies on the characterization of temporal networks [?, ?, ?] have been conducted, but with no direct connection with the dynamic visualization task.
Last, the visualization of large graphs in an online scenario, where node and edge updates are received in a live stream, and the related practical implications of dynamic visualizations, have rarely been considered. In this context, just some exploratory work has been carried out about information selection techniques for dynamic graph visualization, including solutions based on temporal decay of nodes and edges [?], node clustering [?], and centrality indices [?, ?].
We introduce the fastviz algorithm that takes in input a chronological stream of interactions between nodes (i.e., network edges) and converts it into a set of graph updates that account only for the most relevant part of the network. The algorithm has two stages: buffering of filtered network and generation of differential updates for the visualization (see Figure 1). The algorithm stores and visualizes the nodes with the highest strengths, i.e., the highest sum of weights of their connections.
The data taken as input is an ordered chronological sequence of interactions between nodes. The interactions can be either pairwise or cliques of interacting nodes. For instance, the following input:
represents the occurrence of interactions between nodes of weight at epoch time . Entries with more than two nodes are interpreted as interactions happening between each pair of members of the clique with the respective weight. Multiple interactions between the same pair of nodes sum up by adding up their corresponding weights. The advantage of the cliquewise format over the pairwise format is that the size of input files is smaller.
In the first stage of the algorithm, at most nodes with the highest strengths are saved in the buffer together with the interactions among them. The strength of a node is a sum of weights of all connections of that node, i.e., , where is the weight of an undirected connection between nodes and . Whenever a new node, which does not appear in the buffer yet, is read from the input, it replaces the node in the buffer with the lowest value of the strength. If an incoming input involves a node that is already in the buffer, then the strength of the node is increased by the weight of the incoming connection. To emphasize the most recent events and penalize stale ones, a forgetting mechanism that decreases the strengths of all nodes and weights of all edges is run periodically every time period by multiplying their current values by a forgetting factor . This process leads to the removal of old inactive nodes having low strength and storage of old nodes with fresh activity and high strength.
Note that the forgetting mechanism corresponds to a sliding timewindow with exponential decay. The decay determines the weighting of the past interactions in the sliding timewindow aggregation of a dynamic network. Standard rectangular sliding timewindow aggregates all past events within the width of the timewindow weighting them equally. In contrast, in fastviz and in the sliding timewindow with an exponential decay the weighting decreases exponentially (see Figure 2).^{1}^{1}1Under a set of assumptions one can calculate how much time will a given node stay in the buffered network. Let us assume that at the time the strength of a node is , that this strength will not be increased after time , that the next forgetting will happen in time, and that the strength of the weakest buffered node is constant over time. Under these assumptions, the node will stay buffered for time . Such exponential decay has two advantages over a standard rectangular sliding timewindow approach. First, it gives more importance both to the most recent and to the oldest connections, while giving less importance to the middleaged interactions. Second, it produces a dynamic network in which changes are smoother due to the balanced weighting of old and new connections. Finally, instead of using the sliding timewindow with exponential decay, we introduced the fastviz algorithm to limit the computational complexity of network filtering. In principle, timewindow methods do not introduce such a bound. We explore and confirm these points in the following subsections using real dynamic networks.
Comparison of structural properties of networks produced with different filtering methods is not straightforward. First, since the networks are dynamic, one needs to compare the structural properties of the static snapshots of the networks produced by the two methods at the same time. Second, parameters of the methods, i.e., forgetting factor and timewindow width , influence the algorithms, so one needs to draw an equivalency between them to compare the methods under the same conditions. A natural condition to consider is the one of equal areas under the curves from Figure 2, representing the contribution of an interaction event to the representation of a node over time. Note that under this condition a node with constant nonzero activity in time will have the same strength in networks created with each method. For fastviz, the area under the aggregation curve is equal to the sum of a geometric progression. Assuming an infinite geometric progression, we get the approximate . The area under the aggregation curve of the rectangular timewindow is simply . By demanding the areas to be equal, we obtain the relation between the parameters of the two methods
(1) 
In general, the forgetting period is fixed, therefore there is only one free parameter controlling the filtering, e.g., the forgetting factor , which we assign according to the dynamic network, i.e., the faster the network densifies in time, the more aggressive forgetting we use (see Appendix B for more details about the values of parameters). In the following paragraphs, we analyze the dynamics of several structural properties of the networks produced with fastviz, rectangular, and exponential sliding timewindow methods having equal aggregating areas.
To highlight the differences between the three filtering methods, we apply them to two real dynamic networks from Twitter characterized by high changeability and measure the structural properties of resulting networks (Figure 3). The networks represent interactions in Twitter during two widely popular events: the 2013 Super Bowl and the announcement of Osama bin Laden’s death. Further description and properties of these datasets are provided in the next section.
First, we observe that, while the fastviz algorithm stores a limited number of nodes, i.e., up to nodes, the sliding timewindow methods store a varying number of nodes peaking at times more nodes than our method (Figures 3A and 3B). Due to this fact the computational complexity of slidingtime window methods increases in time, whereas it is bounded in fastviz. Since network structural properties such as average degree and clustering depend on the size of the network, we calculate these properties for the subgraphs of equal size, i.e., for the strongest nodes of the full network produced by each of the sliding timewindow methods (Figures 3CJ). For simplicity, we refer to these subgraphs of nodes as the buffered networks.
Second, we find that the networks produced with our filtering method do not experience drastic fluctuations of the global and local clustering coefficients and degree assortativity, which are especially evident for the rectangular timewindow (Figures 3E, 3G, 3H, and 3I). We conclude that the fastviz filtering produces smoother transitions between network snapshots than rectangular sliding timewindow. This property of our method may improve readability of visualizations of such dynamic networks.
Finally, fastviz captures persistent trends in the values of the properties by leveraging the shortterm and longterm node activity. For instance, it captures the trends in degree, clustering coefficients, and assortativity that are less visible with the rectangular timewindow, while they are wellvisible with the exponential timewindow (Figures 3CF, 3I, and 3J). Note that high average degree obtained for networks produced with exponential timewindow corresponds to the nodes that are active over a prolonged timespan, whose activity is aggregated over unbounded aggregation period, and the number of nodes is unbounded as well. On the contrary, rectangular sliding timewindow shows the degree aggregated over a finite timewindow, while fastviz limits the number of tracked nodes, leading to lower reported average degree.
To measure the similarity of sets of nodes filtered with different methods we calculate Jaccard similarity coefficient. Specifically, we measure the Jaccard coefficient of the sets of strongest nodes filtered with fastviz and each of the timewindow methods (Figures 4A and 4B). The value of the coefficient varies in time and among datasets. However, the similarity between fastviz and exponential timewindow is significantly higher than between fastviz and rectangular timewindow. For the Superbowl dataset, the similarity between fastviz and exponential timewindow is close to most of the time and has a drop in the middle. The drop corresponds to the period of the game characterized by the intense turnout of nodes and edges in the buffered network. Hence, the similarity is not equal to for the two methods because the weakest nodes are often forgotten and interchanged with new incoming nodes in fastviz, while in exponential timewindow method they are not forgotten and can slowly become stronger over time. In the next subsection we show that this similarity is close to at all times for the subsets of strongest nodes selected for visualization.
In the second stage, for the purpose of visualization, the algorithm selects nodes with the highest strength and creates a differential update to the visualized network consisting of these nodes and the connections between them. Each such differential update is meant to be visualized in the resulting animation of the network, e.g., as a frame of a movie.
We compare the visualized networks generated by each of the filtering methods. Each of the visualized networks consists of strongest nodes and all connections existing between them in the buffered network. The similarity of the nodes visualized by the fastviz and exponential timewindow methods, measured as Jaccard coefficient , is or close to (Figures 4C and 4D). The visualized networks of the two methods are almost identical. The structural properties of the networks created with the two methods yield almost the same values at each point in time (Figures 5AJ). This result is to be expected, since the forgetting mechanism of fastviz corresponds closely to the exponential decay of connection weights. The advantage of our method over exponential timewindow consists of the limited computational complexity, which makes the fastviz filtering feasible even for the largest datasets of pairwise interactions. Naturally, the similarity between visualized networks created with the two methods decreases with the size of the visualized network (Figures 4E and 4F). More specifically, the similarity decreases with the ratio , as we keep in our experiments a constant value of . Hence, to visualize larger networks one can choose to buffer more nodes.
The comparison of the evolution of structural properties of the corresponding buffered and visualized networks shows that these networks differ significantly for each of the filtering methods (compare Figure 3 vs. Figure 5). This difference is the most salient in the case of rectangular timewindow, which yields considerably larger fluctuations of structural properties than the other methods. In the cases of fastviz and exponential timewindow some structural properties show evolution that is qualitatively similar for buffered and visualized networks, e.g., the average degree and the global clustering coefficient (Figures 3CF vs. Figures 5CF). We conclude that the structure of visualized network differs significantly from the structure of buffered network, although this difference is smaller for fastviz than for rectangular sliding timewindow.
The computational complexity of the buffering stage of the algorithm is , where is the total number of the pairwise interactions read (the cliques are made of multiple pairwise interactions). Each time when an interaction includes a node that is not yet stored in the buffered graph the adjacency matrix of the graph needs to be updated. Specifically, the weakest node is replaced with the new node, so entries in the adjacency matrix are zeroed, which corresponds to . The memory usage scales as , accounting for the adjacency matrix of the buffered graph.^{2}^{2}2For certain real dynamic networks, the buffered graph is sparse. In such cases, one can propose more optimized implementations of fastviz. Here, we focus on limiting the time complexity so that it scales linearly with the number of interactions and describe the generic implementation that achieves it. The second, updategenerating, stage has computational complexity of , where is the total number of differential updates, which is a fraction of and commonly it is many times smaller than .^{3}^{3}3Typically, a large number of interactions is aggregated to create one differential update to the visualized network. In the examples that we show in the next section, one update aggregates from to million interactions. Therefore, is from to million times smaller than . This term corresponds to the fact that the strengths of all buffered nodes are sorted each time an update to the visualized network is prepared. The memory trace of this stage is very low and scales as . We conclude that our method has computational complexity that scales linearly with the number of interactions. It is therefore fast, that is, able to deal with extremely large dynamic networks efficiently.
In this section, we describe animations of exemplary dynamic graphs filtered with fastviz. Principally, the sequence of graph updates can be converted into image frames that are combined into a movie depicting the network evolution. We implement this visualizing technique and create with it the network animations described below. Alternatively, the updates can be fed directly to the Gephi Streaming API to produce an interactive visualization of the evolving network. The Gephi Streaming API allows graph streaming from a client to a server where Gephi is running. In such a case, the graphs are streamed directly from our filtering system to the Gephi server without any thirdparty modules. In Appendix A, we introduce implementation details of both approaches. Finally, corresponding animations can be created by other visualization tools fed with the fastviz updates; we highly encourage their development.
We test the fastviz filtering and our visualizing technique on four datasets very different from each other in nature, size, and time span (see Table 1). The datasets and movies produced from each dataset are described in the following subsections (see Figure 6). In Appendix A, we present the source code of both tools with their documentation, four dynamic graph datasets, and instructions to recreate the visualizations introduced in this section. In Appendix B, we provide and describe the values of the parameters of the algorithm and the visualizing tool used for these datasets.
We use data obtained through the Twitter gardenhose streaming API, which covers around % of the tweet volume. We focus on two events: the announcement of Osama bin Laden’s death and the 2013 Super Bowl. We consider user mentions and hashtags as entities and their cooccurrence in the same tweet as interactions between them.
The first video (Figure 2A) shows how the anticipation for the Super Bowl steadily grows on early Sunday morning and afternoon, and how it explodes when the game is about to start. Hashtags related to #commercials and concerts (e.g., #beyonce) are evident. Later, the impact of the #blackout is clearly visible. The interest about the event drops rapidly after the game is over and stays low during the next day.
The video about the announcement of Osama bin Laden’s death (Figure 2B) shows the initial burst caused by @keithurbahn and how the breaking news was spread by users @brianstelter and @jacksonjk. The video shows that the news appears later via #cnn and is announced by @obama. The breaking of this event on Twitter is described in detail by Lotan [?].
We use a dataset from IMDB of all movies, their year of release and all the keywords assigned to them (from imdb.to/11SZD). We create a network of keywords that are assigned to the same movies. Our video (Figure 2C) shows interesting evolution of the keywords from “characternameintitle” and “basedonnovel” (first half of 20th century), through “martialarts” (70s and 80s) to “independentfilm” (90s and later), “anime” and “surrealism” (2000s).
We use a set of US patents issued between and [?]. We analyze the appearance of words in their titles. Whenever two or more words appear in a title of a patent we create a link between them at the moment when the patent was issued. To improve readability we filter out stopwords and the generic frequent words: “method,” “device” and “apparatus.” Our video (Figure 2D) shows that at the beginning of the period techniques related to “engine” and “combustion” were popular, and later start to cluster together with “motor” and “vehicle.” Another cluster is sparked by patents about “magnetic” “recording” and “image” “processing.” It merges with a cluster of words related to “semiconductor” and “liquid” “crystal” to form the largest cluster of connected keywords at the end of the period.
Other than these experimental datasets, ondemand animations of Twitter hashtag cooccurrence and diffusion (retweet and mention) networks can be generated with our tool via the Truthy service (truthy.indiana.edu/movies). Hundreds of videos have already been generated by the users of the platform and are available to view on YouTube (youtube.com/user/truthyatindiana/videos).
The datasets in our case studies are fairly diverse in topicality, time span, and size, as shown in Table 1. Nevertheless, our method is able to narrow down the visualization to meaningful small subgraphs with less than distinct nodes in all cases. The high performance of the algorithm makes it viable for realtime visualizations of live and large data streams. On a desktop machine the algorithm producing differential updates of the network took several minutes to finish for the US patents and less than two minutes for the other datasets. Given such a performance, it is possible to visualize in realtime highly popular events such as the Super Bowl, which produced up to tweets per second.
Tools for dynamic graph visualization developed so far do not provide specialized ways to dynamically select the most important portions of large evolving graphs. We contribute to filling this gap by proposing an algorithm to filter nodes and edges that best represent the network structure at a given time. Our method captures trends and smoothens the dynamics of structural properties of weighted networks by leveraging the shortterm and longterm node activity. Furthermore, our filtering method uses limited memory and processor time making it viable for large live data streams. We implemented our filtering algorithm in open source tools that take in input a stream of interaction data and output a movie of the network evolution or a live Gephi animation. As future work, we wish to improve our algorithm by means of further optimization and to enhance the tools by providing a standalone module for live visualization of graph evolution.
All authors designed the research. PAG wrote the source code of the algorithm and LMA wrote the source code of the visualization tool. All authors deployed the tools. PAG and LMA analyzed the data. All authors wrote, reviewed and approved the manuscript.
We are grateful to André Panisson for inspiration and to Jacob Ratkiewicz, Bruno Gonçalves, Mark Meiss, and other members of the Truthy project (cnets.indiana.edu/groups/nan/truthy) for helpful discussions and suggestions. PAG acknowledges funding from the JAEPredoc program of CSIC and partial financial support from the MINECO under project MODASS (FIS201124785). This work is supported in part by the NSF (ICES award CCF1101743), and the James S. McDonnell Foundation.
 [1] E. Adar. Guess: a language and interface for graph exploration. In Proceedings of the SIGCHI conference on Human Factors in computing systems, CHI ’06, New York, NY, USA, 2006. ACM.
 [2] J.W. Ahn, M. TaiebMaimon, A. Sopan, C. Plaisant, and B. Shneiderman. Temporal visualization of social network dynamics: prototypes for nation of neighbors. In SBP’11: Proceedings of the 4th international conference on Social computing, behavioralcultural modeling and prediction, Berlin, Heidelberg, 2011. Springer.
 [3] D. Archambault. Structural differences between two graphs through hierarchies. In GI’09: Proceedings of Graphics Interface, Toronto, Ont., Canada, Canada, 2009. Canadian Information Processing Society.
 [4] D. Archambault, T. Munzner, and D. Auber. Topolayout: Multilevel graph layout by topological features. Visualization and Computer Graphics, IEEE Transactions on, 13(2):305–317, March 2007.
 [5] D. Archambault, T. Munzner, and D. Auber. Grouseflocks: Steerable exploration of graph hierarchy space. IEEE Transactions on Visualization and Computer Graphics, 14(4):900–913, July 2008.
 [6] D. Archambault and H. Purchase. The mental map and memorability in dynamic graphs. In Pacific Visualization Symposium (PacificVis), 2012 IEEE, pages 89–96, Feb 2012.
 [7] D. Archambault and H. Purchase. Mental map preservation helps user orientation in dynamic graphs. In W. Didimo and M. Patrignani, editors, Graph Drawing, volume 7704 of Lecture Notes in Computer Science, pages 475–486. Springer Berlin Heidelberg, 2013.
 [8] D. Archambault, H. Purchase, and B. Pinaud. The readability of PathPreserving Clusterings of Graphs. In G. Melançon, T. Munzner, and D. Weiskopf, editors, Eurovis 2010, 12th annual Eurographics/IEEE Symposium on Visualization, volume 29(3) of Eurographics/ IEEEVGTC Symposium on Visualization 2010, pages 1173–1182, Bordeaux, France, June 2010. WILEY.
 [9] D. Archambault and H. C. Purchase. The map in the mental map: Experimental results in dynamic graph drawing. International Journal of HumanComputer Studies, 71(11):1044 – 1055, 2013.
 [10] S. Asur, S. Parthasarathy, and D. Ucar. An eventbased framework for characterizing the evolutionary behavior of interaction graphs. In KDD’07: Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining, New York, NY, USA, 2007. ACM.
 [11] D. Auber, D. Archambault, R. B. A. Lambert, M. Mathiaut, P. Mary, M. Delest, J. Dubois, and G. Melancon. The tulip 3 framework: A scalable software library for information visualization applications based on relational data. Technical Report 7860, INRIA, 2012.
 [12] M. Bastian, S. Heymann, and M. Jacomy. Gephi: an open source software for exploring and manipulating networks. In ICWSM’09: Proceedings of the International AAAI Conference on Weblogs and Social Media. AAAI, 2009.
 [13] V. Batagelj and A. Mrvar. Pajek  analysis and visualization of large networks. In P. Mutzel, M. Junger, and S. Leipert, editors, Graph Drawing, volume 2265 of Lecture Notes in Computer Science. Springer, 2002.
 [14] J. Blythe, C. McGrath, and D. Krackhardt. The effect of graph layout on inference from social network data. In Proceedings of the Symposium on Graph Drawing, GD ’95, pages 40–51, London, UK, UK, 1996. SpringerVerlag.
 [15] U. Brandes. Drawing on physical analogies. In M. Kaufmann and D. Wagner, editors, Drawing graphs. Springer, London, UK, 2001.
 [16] U. Brandes, D. Fleischer, and T. Puppe. Dynamic spectral layout of small worlds. In GD’05: Proceedings of the 13th International Symposium on Graph Drawing. Springer, 2005.
 [17] U. Brandes, D. Fleischer, and T. Puppe. Dynamic spectral layout with an application to small worlds. Journal of Graph Algorithms and Applications, 11(2), 2007.
 [18] U. Brandes, N. Indlekofer, and M. Mader. Visualization methods for longitudinal social networks and stochastic actororiented modeling. Social Network, 34(3), July 2011.
 [19] U. Brandes and D. Wagner. Visone  analysis and visualization of social networks. In Graph Drawing Software. Springer, 2003.
 [20] J. Branke. Dynamic graph drawing. In M. Kaufmann and D. Wagner, editors, Drawing graphs. Springer, London, UK, 2001.
 [21] W. Broeck, C. Gioannini, B. Goncalves, M. Quaggiotto, V. Colizza, and A. Vespignani. The gleamviz computational tool, a publicly available software to explore realistic epidemic spreading scenarios at the global scale. BMC Infectious Diseases, 11(1), 2011.
 [22] C. Cattuto, W. Van den Broeck, A. Barrat, V. Colizza, J.F. Pinton, and A. Vespignani. Dynamics of persontoperson interactions from distributed rfid sensor networks. PLoS ONE, 5(7):e11596, 07 2010.
 [23] E. N. Clauset A. Persistence and periodicity in a dynamic proximity network. In DIMACS Workshop on Computational Methods for Dynamic Interaction Networks, Sep 2007.
 [24] M. K. Coleman and D. S. Parker. Aestheticsbased graph layout for human consumption. Softw. Pract. Exper., 26(12):1415–1438, Dec. 1996.
 [25] W. De Nooy, A. Mrvar, and V. Batagelj. Exploratory Social Network Analysis with Pajek. Cambridge University Press, Jan. 2005.
 [26] C. Demetrescu, D. Eppstein, Z. Galil, and G. F. Italiano. Dynamic graph algorithms. In M. J. Atallah and M. Blanton, editors, Algorithms and theory of computation handbook. Chapman & Hall/CRC, 2010.
 [27] S. Diehl and C. Gorg. Graphs, they are changing. In M. Goodrich and S. Kobourov, editors, Graph Drawing, volume 2528 of Lecture Notes in Computer Science. Springer, 2002.
 [28] A. Dutot, F. Guinand, D. Olivier, and Y. Pigné. Graphstream: A tool for bridging the gap between complex systems and dynamic graphs. In EPNACS: Emergent Properties in Natural and Artificial Complex Systems, 2007.
 [29] S. B. C. Dynes, P. A. Gloor, P. A. Gloor, P. A. Gloor, R. Laubacher, R. Laubacher, Y. Zhao, Y. Zhao, and S. Dynes. Temporal visualization and analysis of social networks. In NAACSOS’04: Conference of North American Association for Computational Social and Organizational Science, Jun 2004.
 [30] P. Eades, L. W., K. Misue, and K. Sugiyama. Preserving the mental map of a diagram. In Compugraphics, pages 24–33, 1991.
 [31] C. Erten, P. Harding, S. Kobourov, K. Wampler, and G. Yee. Graphael: Graph animations with evolving layouts. In G. Liotta, editor, Graph Drawing, volume 2912 of Lecture Notes in Computer Science. Springer Berlin, 2004.
 [32] T. Falkowski, J. Bartelheimer, and M. Spiliopoulou. Mining and visualizing the evolution of subgroups in social networks. In WI’06: Proceedings of the 2006 IEEE/WIC/ACM International Conference on Web Intelligence, Washington, DC, USA, 2006. IEEE Computer Society.
 [33] M. Farrugia and A. Quigley. Effective temporal graph layout: A comparative study of animation versus static display methods. Information Visualization, 10(1):47–64, Jan. 2011.
 [34] M. Freire and P. Rodríguez. Preserving the mental map in interactive graph interfaces. In AVI’06: Proceedings of the working conference on Advanced visual interfaces, New York, NY, USA, 2006. ACM.
 [35] C. Friedrich and M. E. Houle. Graph drawing in motion ii. In P. Mutzel, M. Junger, and S. Leipert, editors, Graph Drawing, volume 2265 of Lecture Notes in Computer Science, pages 220–231. Springer Berlin Heidelberg, 2002.
 [36] Y. Frishman and A. Tal. Online dynamic graph drawing. IEEE Transactions on Visualization and Computer Graphics, 14, July 2008.
 [37] T. M. J. Fruchterman and E. M. Reingold. Graph drawing by forcedirected placement. Software Practice and Experience, 21(11):1129–1164, November 1991.
 [38] E. R. Gansner and S. C. North. Improved forcedirected layouts. In GD’98: Proceedings of the 6th International Symposium on Graph Drawing, London, UK, 1998. Springer.
 [39] S. Ghani, N. Elmqvist, and J. S. Yi. Perception of animated nodelink diagrams for dynamic graphs. Comp. Graph. Forum, 31(3pt3):1205–1214, June 2012.
 [40] R. Gove, N. Gramsky, R. Kirby, E. Sefer, A. Sopan, C. Dunne, B. Shneiderman, and M. TaiebMaimon. NetVisia: Heat Map & Matrix Visualization of Dynamic Social Network Statistics & Content. In SocialCom’11, Proceedings of the 3rd IEEE Second International Conference on Social Computing, Washington, DC, USA, 2011. IEEE Computer Society.
 [41] Graph streaming api documentation. http://wiki.gephi.org/index.php/Specification__GSoC_Graph_Streaming_API, Last accessed on March 13, 2014.
 [42] S. Hadlak, H.J. Schulz, and H. Schumann. In situ exploration of large dynamic networks. IEEE Trans. Vis. Comput. Graph., 17(12):2334–2343, 2011.
 [43] J. Heer and D. Boyd. Vizster: Visualizing online social networks. In InfoVis’05: Proceedings of the IEEE Symposium on Information Visualization, Washington, DC, USA, 2005. IEEE Computer Society.
 [44] M. R. Henzinger and V. King. Randomized fully dynamic graph algorithms with polylogarithmic time per operation. J. ACM, 46, July 1999.
 [45] I. Herman, G. Melançon, and M. S. Marshall. Graph visualization and navigation in information visualization: A survey. IEEE Transactions on Visualization and Computer Graphics, 6(1):24–43, Jan. 2000.
 [46] Y. F. Hu. Efficient and high quality forcedirected graph drawing. The Mathematica Journal, 10(1), 2005.
 [47] W. Huang, P. Eades, and S.H. Hong. Beyond time and error: A cognitive approach to the evaluation of graph drawings. In Proceedings of the 2008 Workshop on BEyond Time and Errors: Novel evaLuation Methods for Information Visualization, BELIV ’08, pages 3:1–3:8, New York, NY, USA, 2008. ACM.
 [48] W. Huang, S.H. Hong, and P. Eades. How people read sociograms: A questionnaire study. In Proceedings of the 2006 AsiaPacific Symposium on Information Visualisation  Volume 60, APVis ’06, pages 199–206, Darlinghurst, Australia, Australia, 2006. Australian Computer Society, Inc.
 [49] T. Kamada. Visualizing Abstract Objects and Relations. World Scientific, 1989.
 [50] T. Kamada and S. Kawai. An algorithm for drawing general undirected graphs. Information Processing Letters, 31(1):7 – 15, April 1989.
 [51] S. Kriglstein, M. Pohl, and C. Stachl. Animation for timeoriented data: An overview of empirical research. In 16th International Conference on Information Visualisation, pages 30–35, July 2012.
 [52] G. Krings, M. Karsai, S. Bernhardsson, V. Blondel, and J. Saramaki. Effects of time window size and placement on the structure of an aggregated communication network. EPJ Data Science, 1(1):4, 2012.
 [53] G. Kumar and M. Garland. Visual exploration of complex timevarying graphs. IEEE Transactions on Visualization and Computer Graphics, 12, September 2006.
 [54] G. LaRowe, S. Ambre, J. Burgoon, W. Ke, and K. BÃ¶rner. The scholarly database and its utility for scientometrics research. Scientometrics, 79(2):219–234, 2009.
 [55] G. Lotan. Breaking bin laden: A closer look. http://blog.socialflow.com/post/5454638896/breakingbinladenacloserlook, 2011, Last accessed on March 13, 2014.
 [56] Mencoder tool documentation. http://www.mplayerhq.hu/design7/documentation.html, Last accessed on March 13, 2014.
 [57] K. Misue, P. Eades, W. Lai, and K. Sugiyama. Layout adjustment and the mental map. Journal of Visual Languages and Computing, 6(2), 1995.
 [58] T. M. Munzner. Interactive visualization of large graphs and networks. PhD thesis, Stanford University, Stanford, CA, USA, 2000.
 [59] Network workbench tool. indiana university, northeastern university, and university of michigan. http://nwb.cns.iu.edu, 2006, Last accessed on March 13, 2014.
 [60] S. C. North. Incremental layout in dynadag. In GD’95: Proceedings of the Symposium on Graph Drawing, London, UK, 1996. Springer.
 [61] S. C. North and G. Woodhull. Online hierarchical graph drawing. In GD’01: Revised Papers from the 9th International Symposium on Graph Drawing, London, UK, 2002. Springer.
 [62] H. C. Purchase. Which aesthetic has the greatest effect on human understanding? In Proceedings of the 5th International Symposium on Graph Drawing, GD ’97, pages 248–261, London, UK, UK, 1997. SpringerVerlag.
 [63] G. Ramalingam and T. Reps. On the computational complexity of dynamic graph problems. Theoretical Computer Science, 158(1), May 1996.
 [64] E. M. Rodrigues, N. MilicFrayling, M. Smith, B. Shneiderman, and D. Hansen. GroupInaBox Layout for Multifaceted Analysis of Communities. In SocialCom’11, Proceedings of the 3rd IEEE Second International Conference on Social Computing, Washington, DC, USA, 2011. IEEE Computer Society.
 [65] M. Rosvall and C. T. Bergstrom. Mapping change in large networks. PLoS ONE, 5(1):e8694, 01 2010.
 [66] A. Sallaberry, C. Muelder, and K.L. Ma. Clustering, visualizing, and navigating for large dynamic graphs. In Proceedings of the 20th International Conference on Graph Drawing, GD’12, pages 487–498, Berlin, Heidelberg, 2013. SpringerVerlag.
 [67] M. A. Smith, B. Shneiderman, N. MilicFrayling, E. Mendes Rodrigues, V. Barash, C. Dunne, T. Capone, A. Perer, and E. Gleave. Analyzing (social media) networks with nodexl. In C&T’09:Proceedings of the fourth international conference on Communities and technologies, New York, NY, USA, 2009. ACM.
 [68] K. Stein, R. Wegener, and C. Schlieder. Pixeloriented visualization of change in social networks. In ASONAM’10: Proceedings of the International Conference on Advances in Social Networks Analysis and Mining, Washington, DC, USA, 2010. IEEE Computer Society.
 [69] I. G. Tollis, G. Di Battista, P. Eades, and R. Tamassia. Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall, 1999.
 [70] J. S. Yi, N. Elmqvist, and S. Lee. Timematrix: Analyzing temporal social networks using interactive matrixbased visualizations. International Journal of HumanComputer Interaction, 26(1112), 2010.
We have implemented two independent tools described in the manuscript. The first tool is the fastviz algorithm. The second tool converts the sequence of updates into image frames that are combined into a movie depicting the network evolution. We release the source code of both tools (see the project website github.com/WICI/fastviz). Here, we describe the two tools in more detail.
The first tool is the fastviz algorithm. It takes in input a chronological stream of interactions between nodes and converts it into a set of graph updates that account only for the most relevant part of the network in the JSON format. In the network filtering stage, the algorithm stores a buffered network of size , limiting the computational complexity and memory usage of the algorithm. In the second stage, for the purpose of visualization, the algorithm selects nodes with the highest strength and all edges between these nodes that have weight above a certain threshold . The subgraph induced by the nodes is compared with the subgraph in the previous state and a differential update is created. The updates are created per every time interval that is determined with the time contraction parameter . A value of for this parameter means that the time will flow in the visualization times faster than in the data given as the input (see Appendix B). The differential updates are written in output in the form of a JSON file formatted according to the Gephi Streaming API [?]. We choose JSON format specifically due to the compatibility with Gephi Streaming API. In short, each line of the JSON file corresponds to one update of the graph structure and contains a sequence of JSON objects that specify the addition/deletion/attribute change of nodes and edges. We also introduced a new type of object to deal with labels on the screen, for example, to write the date and time on the screen.
The second tool converts the sequence of updates into image frames that are combined into a movie depicting the network evolution. To this end, the sequence of updates produced by the filtering algorithm is fed to a python module that builds a representation of a dynamic graph, namely an object that handles each of the updates and reflects the changes to its current structure. The transition between the structural states of the graph determined by the received updates is depicted by a sequence of image frames. Each differential update correspond to one visualization frame, i.e., one frame of an animation. In its initial state, the nodes in the network are arranged according to the Fruchterman Reingold graph layout algorithm [?]. The choice of the layout is arbitrary and other layouts can be used and compared. However, due to the focus of this study on the filtering method, rather than the quality of the visualization, we do not explore any other layout algorithms. For each new incoming event, a new layout is computed by running iterations of the layout algorithm, using the previous layout as a seed. Intermediate layouts are produced at each iteration of the algorithm. Every intermediate layout is converted to a png frame that is combined through the mencoder tool [?] to produce a movie that shows a smooth transition between different states. The movie is encoded with the frequency of frames per second. To avoid nodes and edges to appear or disappear abruptly in the movie, we use animations that smoothly collapse dying nodes and expand new ones. A configuration file allows to modify the default movie appearance (e.g, resolution, colors) and layout parameters (see the project website).
We release the source code of both tools with the documentation under the GNU General Public License (see the project website github.com/WICI/fastviz). Together with the tools we release the datasets used in this paper and instructions on how to recreate all the examples of animations presented in this manuscript. Additionally, the updates created with fastviz can be fed directly to the Gephi Streaming API to produce an interactive visualization of the evolving network. Respective instructions can be found at the website of the project.
The exact behavior of the fastviz filtering depends on the parameters introduced in the manuscript. We present the values of the parameters used in the case studies and their default values in Table 2. The default values of the parameters are meant to be universal and give reasonably good visualizations for most datasets. Overall, three parameters require adjustment to the input data, namely time contraction , edge width threshold , and forgetting factor . We provide exemplary values of these parameters for the introduced datasets in Table 2 and describe these parameters in detail below.
The time contraction corresponds to the number of seconds in data time scale that are going to be contracted to one second of the visualization. The larger the time span of the dataset, the larger should be this parameter in order to keep the length of visualization fixed. For instance, if the timespan of the network is hours, and one wants to see its evolution in a secondlong animation, then should be set to . It is crucial to provide a desired value for this parameter, because providing a value that is too large will create just a few network updates and a very short animation, while providing a value that is too small will create a large number of updates making the JSON file very big and the animation very long.
The minimal edge weight is a threshold above which edges appear in the visualization. Low value of this parameter may results in many edges of low weight appearing in the animation, while high value of the parameter may prevent any edges from being visualized. In case a user does not have any information about the visualized network, we recommend leaving this parameter at its default value of , which will visualize all edges of standard weight or higher.
The forgetting factor decides how fast older interactions among nodes are forgotten in comparison with more recent interactions. This parameter can be tuned individually for the purpose of the visualization. In general, the faster the network densifies in time, the more aggressive should be the forgetting, i.e., the lower should be the forgetting factor . In general, keeping the default value of this parameter is safe, although its adjustment will improve the quality of visualization.