Scalable Integration of Analytics and Visualization: Papers from the 2011 AAAI Workshop (WS-11-17) Multi-Fisheye for Interactive Visualization of Large Graphs Priya Sundararajan, Ole J.Mengshoel, Ted Selker Carnegie Mellon University, Silicon Valley {priya.sundararajan,ole.mengshoel,ted.selker}@sv.cmu.edu parts of a graph while minimizing distortions, we decided to localize the fisheye effect to a region surrounding a selected node. This is done by applying the fisheye algorithm (Sarkar and Brown 1992) locally to each of the selected node and its sphere of influence. Thus many fisheyes are created at the same time. The neighboring nodes around the fisheye is selected by partitioning the display. We briefly discuss several partitioning algorithms, including the Voronoi algorithm (Fortune 1986). Based on a set of selected nodes (each representing a fisheye), the Voronoi algorithm divides the plane into polygonal regions. Each region contains a set of nodes that are closer to a particular selected node than to all other selected nodes. Fisheye is then applied to those nodes in the selected region, allowing users to zoom a portion of the graph without losing context. Abstract By selectively zooming in and zooming out visualizations, the fisheye technique allows users to study details while maintaining context. In this paper, we introduce a multifisheye technique, which amounts to introducing several fisheyes in a visualization at the same time. Our multi-fisheye technique is based on partitioning the visualization’s display area and applying a fisheye algorithm inside each partition. While we demonstrate the potential of applying our multifisheye technique using a social network, it clearly can be applied in other areas and types of networks, including in probabilistic graphical models such as Bayesian networks. Introduction Interactively exploring large data sets, such as Bayesian networks (Pearl 1988) with hundreds or thousands of nodes and edges, can be quite challenging. In particular, users may lose context when studying and understanding zoomed-in details. Also, browsing a large layout by scrolling and arc traversing tends to obscure the global structure of the graph (Henry and Hudson 1991). To address the fundamental visualization problem of studying details while also giving context, the fisheye technique was introduced (Furnas 1986). The key idea with fisheye is that the user selectively applies a distortion, such that the center of the fisheye distortion becomes zoomed-in, while the parts of the display further from the center become zoomed-out. Fisheye lenses have been elegantly applied, for instance, in graphical layouts (Gutwin and Fedak 2004) and menu layouts (Hornbaek and Hertzum 2007). While very useful, the fisheye distortion allows focus on only one part of a display, for example one part of a network. In many cases, however, a user wants to compare multiple different areas of a visualization, areas that in general can be quite far apart. Such comparison can be achieved by sequentially applying the fisheye distortion and remembering previously zoomed-in areas when studying the currently zoomed-in area of the display; however this approach becomes somewhat tedious. We explore a new way of using fisheye, a multi-fisheye technique, and apply it to the problem of visualizing and interacting with large graphs. To help users compare multiple Related Work Typical graph presentation might use all display space for a particular zoomed-in area of a graph. This provides focus, but at the expense of losing overview of the entire graph. Sometimes the portion of the graph will be identified in a separate overview with the zoomed area delimited as well, now a well known approach it might have first been implemented by Ted Selker and Scott Penberthy as a mechanisim for selecting personnel in zooming the management graph of IBM employees in 1986. Another popular way to retain overview and detail is the fisheye approach (Furnas 1986). In a fisheye view, the user-selected portion expands, or is zoomed-in, while the nearby regions contract, or are zoomed-out, allowing an entire network to be viewable while the region of interest is expanded for focus. Hyperbolic viewers (Lamping and Rao 1994) are a well-known related variant. van Ham and Perer developed the ”search, show context, expand on demand” model in which the users pick a particular datapoint as a focus for analysis; the system then computes and displays an ”optimal” relevant context given the user’s current interests (van Ham and Perer 2009). They used the concept of Degree Of Interest (DOI) (Furnas 1986; 2006) to display the relevant context. A topological fisheye method (Gansner, Koren, and North 2005) precomputes coarsened graphs on the fly and render the level of detail from the combined graphs, depending on distance from one or more foci. This topological approach has not been celebrated as we think it should. The drawback of this topo- c 2011, Association for the Advancement of Artificial Copyright Intelligence (www.aaai.org). All rights reserved. 46 logical approach, however, is the computation involved in precomputing the coarsened graphs. A study conducted by Plumlee and Vare compared systems in which multiple partial views were compared to a single zoomable interface. For a multiscale pattern matching task (Plumlee and Ware 2006) shows that the multiple view interface seems to work better than a zooming user interface. The disadvantage is the extra screen space used by the multiple view interface. The users will also find it difficult to manage when more views are opened. There are many social network visualization tools. SocialAction provides attribute rankings and coordinated views to zoom, filter clusters of nodes and isolate outliers (Perer and Shneiderman 2006). NodeXL provides the Excel users to easily import, clean up, analyze and visualize data using a library of standard visualization techniques (Smith et al. 2009). ManyNets is another system that uses a tabular visualization to display multiple networks (Freire et al. 2010). TreePlus allows users to explore graphs presenting them as a familiar tree layouts (Lee et al. 2006). None of these techniques and systems have mechanisms for browsing for nodes in different parts of the network for the purpose of comparing easily. Our multi-fisheye system described below, on the other hand, supports interactive segmentation for comparing multiple parts of a graph. Figure 1: Multi-fisheye distortion after selecting three fisheye nodes, highlighted in dark blue, using rectangular partitioning. in the newly created partitions. The Voronoi diagram can be maintained for a set of partitions that varies over time by insertion or deletion (Aurenhammer 1991) as shown in Figure 2. The Voronoi diagram of the display area is computed by dividing the plane into n selected regions for each of the n node selections. It is based on the Voronoi principle that any node in the region will be nearer to the selected node in that region than to any of the neighboring selected nodes. Thus the diagram forms zones of interest for the selected node, which helps to pick only those nodes in the zone to apply fisheye technique. When the user selects a point, the Voronoi algorithm is applied to that point along with all previously selected (and not de-selected) points in order to compute the Voronoi diagram. A divide and conquer approach is followed wherein the screen space is divided into polygons and the intersecting edges are merged to form a bounded region. We apply the fisheye only to the bounded area by retrieving the corner co-ordinates of the bounded region and updating the display accordingly. In this way, the distortion of the entire graph is minimized and the layout structure is retained. The pseudocode for the above methods is shown in Figure 3. After the original graph is rendered, we wait for the user to select a node. When the user selects a node, the MultiFisheye algorithm is called. The display space is partitioned depending on whether the user wants to partition using the rectangular or the Voronoi algorithm. The corner coordinates (endPoints) of the selected nodes’ partition is obtained. Each node in the graph is checked to see if it is present in the selected nodes’ partitioned area using the Ray casting algorithm 1 . Only those nodes in the selected nodes’ partitioned area undergoes the fisheye distortion. Approach Fisheye technique is independent of the layout algorithm and is defined as a separate processing step on the graphical layout of the graph. This independence has positive and negative aspects. On the positive side, it allows for a modular organization of software (Herman, Melancon, and Marshall 2000). However, the fisheye distortion may destroy the ability of the user to recognize the already established relations in the graph by distorting the display. To combat the negative aspect of fisheye, we decided to localize the fisheye effect on the bounded area around the focus. We tried two different approaches, the rectangular partitioning technique and the Voronoi partitioning technique. These two techniques are discussed below. Rectangular Partitioning Technique In this approach we divide the screen space into rectangles and apply fisheye only in the selected area. We show an example of partitioning the screen space into four fixed quadrants in Figure 1. When a node is selected, its quadrant is determined and all the nodes in that quadrant undergo fisheye distortion. When multiple nodes are selected, each of them will be zoomed using the fisheye technique. Voronoi Partitioning Technique The constraint in the rectangular partitioning technique is that all the nodes inside a rectangle will undergo fisheye distortion. To optimize the fisheye distortion process, the number of nodes undergoing distortion need to be reduced. For this a recursive partitioning technique is needed for creating new partitions at each node selection. This is done by applying the Voronoi algorithm and then doing fisheye distortion Implementation and Interaction The multi-fisheye technique is implemented using the Prefuse framework (Heer, Card, and Landay 2005). A Social 1 http://www.ecse.rpi.edu/Homepages/wrf/Research/Short˙ Notes/pnpoly.html 47 Figure 4: Visualization of social network with no fisheye (left) and three fisheyes (right) applied. The fisheyes are applied to the three dark blue nodes. Novel Multi-Fisheye Technique We have investigated two partitioning approaches, the rectangular approach and the Voronoi approach. In the rectangular approach, if the user partitions the graph into more than one rectangle, the nodes in each rectangle will be laid out as though they were separate graphs. As a user selects a node within a rectangle, it will be laid out with constraints of continuity at the edges to attach to the other rectangles. Multi-node selection will mainly be used for comparing various nodes to explore their differences and similarities. In the rectangular algorithm, the partition is fixed. When multiple nodes are selected within a rectangle then each of the selected node and the surrounding nodes will undergo fisheye as shown in Figure 1. The right side of Figure 4 shows the rectangular partitioning technique applied to a selection of three nodes. Another way to partition the graph relies on a Voronoi algorithm (Fortune 1986) to partition the display area. While such partitioning might seem more general, it might be harder to keep track of where the lines are between the regions that the fisheye applies to. With either Voronoi or our implemented rectangular segmentation approaches, only the nodes inside the partition will undergo distortion. Thus these approaches allow many foci to raise specific nodes to be compared with other expanded nodes in other partitions. Using the Voronoi approach, we can also easily undo the effect of one or more of the fisheyes. Figure 2: Multi-fisheye distortion after selecting three fisheye nodes, highlighted in dark blue, using Voronoi partitioning. network is taken as an example graph structure. The plain graph with no fisheye distortion is shown in the left side of Figure 4. The font size of the labels is the same for all the nodes. Interaction with the graph takes place by changing the position of focus. The zoomed node will display a larger font than its neighboring nodes. Detailed description of each of the interaction mechanisms are discussed in the following sections. Conclusion And Future Work This paper introduces multi-fisheye as an approach to partition large scale graph visualizations. The multi-fisheye approach attempted in (Gansner, Koren, and North 2005) is simplified and developed for the 2D graph case. For multizooming, a set of focus points are selected and those can be zoomed using the localized fisheye algorithm, at the same time retaining the context of the graph. Thus the approach allows a user to bring multiple parts of a large graph for- Traditional Single Fisheye Technique If the entire graph is a single rectangle, the system lays out the graph as a single fisheye system would. As a user selects a node, it gets enlarged, all other nodes sizes are reduced by the log of their distance from the selected node (Sarkar and Brown 1992). 48 ward to be compared in localized fisheye distortions. Partitioning the graph using the Voronoi algorithm was considered. We also developed a new rectangular graph segmentation approach that is a simpler algorithm. The interactive multi-fisheye viewer described in this paper has been used to help view large Bayesian networks. The system focuses on the ability to keep track of the relationships in a large network and compare various parts of a large network. It is also conceivable that 3D visualizations could, with care, benefit from such multi-fisheye techniques. If combined with a multi-view technique (Cossalter, Mengshoel, and Selker 2011), we anticipate that multi-fisheye could be part of an integrated tool for editing and analyzing Bayesian and other analytical networks. Algorithm : PARTITIONA ND F ISHEYE(Graph) procedure VORONOI(selectedN ode) comment: Partition display around the selectedNode endP oints ← F ORTUNES VORONOI(selectedN ode) Voronoi Algorithm (Fortune 1986) return (endP oints) procedure R ECTANGULAR(selectedN ode) comment: Partition the display area into 4 quadrants References Get selectedNode’s position nodeP oint ← nx, ny Check which quadrant contains the nodePoint Get the endPoints of the quadrant return (endP oints) Aurenhammer, F. 1991. Voronoi diagrams a survey of a fundamental geometric data structure. ACM Comput. Surv. 23:345–405. Cossalter, M.; Mengshoel, O. J.; and Selker, T. 2011. Multifocus multi-level network visualization. In To be submitted to IEEE VAST 2011. procedure F ISHEYE(Graph, selectedN ode, endP oints) Fortune, S. 1986. A sweepline algorithm for voronoi diacomment: Check if the node is in the partition grams. In Proceedings of the second annual symposium on comment: Apply the fisheye technique only to surroundNodes Computational geometry, SCG ’86, 313–322. New York, NY, USA: ACM. for each N ode ∈Graph if CHECK C OORDS(N ode, endP oints) == T RU E Freire, M.; Plaisant, C.; Shneiderman, B.; and Golbeck, J. surroundN odes ← N ode 2010. ManyNets: an interface for multiple network analF ISHEYE A LGORITHM(selectedN ode, surroundN odes) ysis and visualization. In Proceedings of the 28th internaFisheye Algorithm (Sarkar and Brown 1992) tional conference on Human factors in computing systems, CHI ’10, 213–222. New York, NY, USA: ACM. Furnas, G. W. 1986. Generalized fisheye views. SIGCHI procedure M ULTI F ISHEYE(Graph, selectedN ode, method) Bull. 17:16–23. comment: Call the partitioning method Furnas, G. W. 2006. A fisheye follow-up: further reflecif method == ”Rectangular” tions on focus + context. In Proceedings of the SIGCHI endP oints ← R ECTANGULAR(selectedN ode) conference on Human Factors in computing systems, CHI ’06, 999–1008. New York, NY, USA: ACM. else endP oints ← VORONOI(selectedN ode) Gansner, E. R.; Koren, Y.; and North, S. C. 2005. TopologF ISHEYE(Graph, selectedN ode, endP oints) ical fisheye views for visualizing large graphs. IEEE Transactions on Visualization and Computer Graphics 11:457– 468. main Gutwin, C., and Fedak, C. 2004. A comparison of fisheye method ← partitionM ethodN ame lenses for interactive layout tasks. In Proceedings of Graphcomment: method denotes the partitioning technique ics Interface 2004, GI ’04, 213–220. School of Computer Graph ← Render the original graph Science, University of Waterloo, Waterloo, Ontario, Canada: When the user clicks on a node, call MultiFisheye Canadian Human-Computer Communications Society. M ULTI F ISHEYE(Graph, selectedN ode, method) Heer, J.; Card, S. K.; and Landay, J. A. 2005. prefuse: a for each N ode ∈Graph toolkit for interactive information visualization. In ProceedPOSITION BACK N ODE () ings of the SIGCHI conference on Human factors in comRedraw the Nodes to its original position puting systems, CHI ’05, 421–430. New York, NY, USA: ACM. Henry, T. R., and Hudson, S. E. 1991. Interactive graph Figure 3: Pseudocode for Fisheye technique applied on spatial layout. In Proceedings of the 4th annual ACM symposium partition. on User interface software and technology, UIST ’91, 55– 64. New York, NY, USA: ACM. Herman, I.; Melancon, G.; and Marshall, M. S. 2000. Graph visualization and navigation in information visualization: A 49 survey. IEEE Transcations on Visualization and Computer Graphics 6(1):24–43. Hornbaek, K., and Hertzum, M. 2007. Untangling the usability of fisheye menus. ACM Trans. Comput.-Hum. Interact. 14. Lamping, J., and Rao, R. 1994. Laying out and visualizing large trees using a hyperbolic space. In Proceedings of the 7th annual ACM symposium on User interface software and technology, UIST ’94, 13–14. New York, NY, USA: ACM. Lee, B.; Parr, C. S.; Plaisant, C.; Bederson, B. B.; Veksler, V. D.; Gray, W. D.; and Kotfila, C. 2006. Treeplus: Interactive exploration of networks with enhanced tree layouts. IEEE Transactions on Visualization and Computer Graphics 12:2006. Pearl, J. 1988. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. San Mateo, CA: Morgan Kaufmann. Perer, A., and Shneiderman, B. 2006. Balancing systematic and flexible exploration of social networks. IEEE Transactions on Visualization and Computer Graphics 12:693–700. Plumlee, M. D., and Ware, C. 2006. Zooming versus multiple window interfaces: Cognitive costs of visual comparisons. ACM Trans. Comput.-Hum. Interact. 13:179–209. Sarkar, M., and Brown, M. H. 1992. Graphical fisheye views of graphs. In Proceedings of the SIGCHI conference on Human factors in computing systems, CHI ’92, 83–91. New York, NY, USA: ACM. Smith, M. A.; Shneiderman, B.; Milic-Frayling, N.; Mendes Rodrigues, E.; Barash, V.; Dunne, C.; Capone, T.; Perer, A.; and Gleave, E. 2009. Analyzing (social media) networks with NodeXL. In Proceedings of the fourth international conference on Communities and technologies, 255– 264. New York, NY, USA: ACM. van Ham, F., and Perer, A. 2009. Search, show context, expand on demand supporting large graph exploration with degree-of-interest. IEEE Transactions on Visualization and Computer Graphics 15:953–960. 50