Using Graph Layout to Visualize Train Interconnection Data

46 497 0
Using Graph Layout to Visualize Train Interconnection Data

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Journal of Graph Algorithms and Applications http://www.cs.brown.edu/publications/jgaa/ vol 4, no 3, pp 135–155 (2000) Using Graph Layout to Visualize Train Interconnection Data Ulrik Brandes Dorothea Wagner Department of Computer & Information Science University of Konstanz http://www.inf.uni-konstanz.de/~{brandes,wagner} {Ulrik.Brandes,Dorothea.Wagner}@uni-konstanz.de Abstract We consider the problem of visualizing interconnections in railway systems Given time tables from systems with thousands of trains, we are to visualize basic properties of the connection structure represented in a so-called train graph It contains a vertex for each station met by any train, and one edge between every pair of vertices connected by some train running from one station to the other without halting in between Positions of vertices in a train graph visualization are given by the geographical location of the corresponding station If all edges are represented by straight-lines, the result is visual clutter with many overlaps and small angles between pairs of lines We therefore present a non-uniform approach using different representations for edges of distinct meaning in the exploration of the data Some edges are represented by curved lines, such that the layout problem consists of placing control points for these curves We transform it into a graph layout problem and exploit the generality of the random field layout model formulation for its solution Communicated by G Liotta and S H Whitesides: submitted November 1998, revised October 1999 Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 136 Introduction The present layout problem arises from a cooperation with a subsidiary of the Deutsche Bahn AG (the central German train and railroad company), TLC/EVA The aim of this cooperation is to develop data reduction and visualization techniques for the explorative analysis of large amounts of time table data from European public transport systems These comprise mostly train schedules; however, the data may also contain bus, ferry and even some pedestrian connections The analysis of the data with respect to completeness, consistency, changes between consecutive periods of schedule validity and so on is relevant, e.g., for quality control, (international) coordination, and pricing Our aim is to aid visual inspection of this data, which is carried out at TLC to identify structural characteristics of (sub)networks and to back-up design decisions on extensions or modifications of networks Reported future use will include evaluation support of schedules and pricing Figure shows the kind of data that is provided Since for even a moderately sized stop like the German part of the Konstanz main station there are about 100 trains regularly arriving or leaving, realistic input is quite large To condense the input, a so-called train graph is built in the following way For each regular stop of any train, a vertex is inserted into the graph Two vertices are connected by exactly one edge if there is a point-to-point connection, i.e some train runs from from one station to the other (or vice versa) without intermediate stops Hence, the graphs considered here are simple and undirected An important part of the analysis is the classification of edges into two categories: minimal edges and transitive edges Minimal edges are those corresponding to a set of continuous connections between two stations not passing through a third one Typically, these are induced by regional trains serving minor stations On the other hand, transitive edges correspond to connections passing through other stations without halting These are induced by throughtrains The information contained in a train graph is therefore the existence or absence of a point-to-point connection between pairs of stations, and the classification of each connection into minimal or transitive Graphical presentation of the train graph and an edge classification computed in the analysis is desirable An edge classification is easily coded using color Figure 2(a) shows a small part of a train graph with edges colored according to a precomputed classification Stations are positioned according to their geographical location, and all edges are drawn as straight lines Obvious graphical problems are edge overlaps and small angles between edges In order to maintain geographic familiarity, we are not allowed to move vertices, and minimal edges are best depicted by straight-lines, because they usually represent actual railways and should therefore not be the cause of the problem It seems therefore reasonable to change the representation of transitive edges to curves, as depicted in Figure 2(b) They provide the flexibility to route an edge such that overlaps and small angles are resolved In general, representation of non-stop connections by curved lines not only helps to reduce visual clutter and ambiguity, but also directly resembles the intuition of fast Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 137 *Z 05130 85 01 *G SE 8506131 8001790 *A VE 8506131 8001790 000000 *A G 8506131 8001790 8506131 Kreuzlingen 8003400 Konstanz 8003401 Konstanz-Petersh 8003416 Konstanz-Wollmat 8004997 Reichenau(Baden) 8002683 Hegne 8000496 Allensbach 8003872 Markelfingen 8000880 Radolfzell 8001059 B¨ ohringen-Rickelsh 8000073 Singen(Hohentwiel) 8004107 M¨ uhlhausen(b Engen) 8006321 Welschingen-Neuhaus 8001790 Engen ( ) 8000880 ( ) 8003400 8003401 8003416 ( ) 8506131 ( ) 1115 1127 1130 1132 1135 1138 1143 1147 1152 1158 1206 1209 1212 1112 1125 1128 1130 1133 1135 1138 1143 1149 1152 1200 1206 1209 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Radolfzell -58.5 -510.8 ( ) Konstanz Konstanz-Petersh Konstanz-Wollmat -43.5 -43.5 -45.1 -519.8 -518.2 -517.5 ( ) ( ) ( ) Kreuzlingen -40.2 -524.5 ( ) Figure 1: Schedule of a single train and excerpts from a station list The schedule lists all stations used by the train with arrival and departure times Every station has a unique identification number, and coordinates are in kilometers relative to the city of Hannover (irrelevant data omitted) Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 138 Radolfzell Allensbach Konstanz (a) straight-line segments Radolfzell Allensbach Konstanz (b) B´ ezier curves Figure 2: Different representations of transitive edges in a small train graph vehicles passing by minor stops To render B´ezier curves, control points need to be positioned Using the framework of random field layout models introduced in [3], the problem is cast into a graph layout problem More precisely, we consider control points to be vertices of a graph, and rules for appropriate positioning are modeled by defining edges accordingly This way, common algorithmic approaches can be employed Practical applicability of our approach is gained from experimental validation In a completely different field of application, the same strategy is currently used to identify suitable layout models for social and policy networks [4, 3] These applications are good examples of how the uniform approach of random field layout models may be used to obtain initial models for visualization problems which are not clearly defined beforehand The paper is organized as follows In Section 2, we review briefly the concept of random field layout models A specific random field model for train graph Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 139 layout is defined in Section Section features a short discussion on aspects of parametrization and experiments with real-world examples Random Field Layout Models In this section we review briefly the uniform graph layout formalism introduced in [3] As can be seen from Section 3, model prototyping within this framework is straightforward Virtually every graph layout problem can be viewed as a constrained optimization problem A layout of a graph G = (V, E) is computed by assigning values to certain layout variables, subject to constraints and an objective function Straight-line representations, for instance, are completely determined by an assignment of coordinates to each vertex However, straight-line representations are but one special case of a layout problem In the most general formulation, each element of a set L = {l1 , , lk } of arbitrary layout elements is assigned a value from a set of feasible values Xl , l ∈ L Layout elements may represent positional variables for vertices, edges, labels, and any other kind of graphical object Therefore, L and X = X L = Xl1 × · · · × Xlk are clearly dependent on the chosen type of graphical representation In this application, we need not constrain configurations of layout elements Hence, all vectors x ∈ X are considered feasible layouts Objective function In order to measure the quality of a layout, an objective function U : X → Ê is defined Since it is difficult to judge the quality of a layout as a whole, the objective function evaluates configurations of small subsets of layout elements which mutually influence their positioning This interaction of layout elements is modeled by an interaction graph Gη = (L, E η ) that is obtained from a neighborhood system η = {ηl | l ∈ L}, where ηl ⊆ L \ {l} is the set of layout elements for which the position assigned to l is relevant in terms of layout quality There is an edge in E η between two layout elements, if one is in the neighborhood of the other The interactions are symmetric by definition, i.e we require l2 ∈ ηl1 ⇔ l1 ∈ ηl2 for all l1 , l2 ∈ L, so that Gη is undirected The set of cliques in Gη is denoted by C = C(η) We define the interaction potential of a clique C ∈ C to be any function UC : X → Ê for which xC = yC ⇒ UC (x) = UC (y) holds for all x, y ∈ X , where xC = (xl )l∈C A graph layout objective function U : X → Ê is the sum of all interaction potentials, i.e U (x) = C∈C UC (x) By convention, the objective function is to be minimized U (x) is often called the energy of x, and can be interpreted as the amount of distortion in the layout Fundamental potentials One advantage of separating the energy function into interaction potentials of small subsets of layout elements is that recurrent design principles can be isolated to form a toolbox of fundamental criteria Not Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 140 surprisingly, two central potentials are those corresponding to the forces used in the spring embedder [7]:1 • Repulsion Potential: The criterion that two layout elements k and l should not lie close to each other can be expressed by a potential (rep) U{k,l} (x) = Rep(xk , xl ) = d(xk , xl )2 where is a fixed constant and d(xk , xl ) is the Euclidean distance between the positions of k and l Rep(xk , xl | ) is used to indicate a specific choice of • Attraction Potential: If, in contrast, k and l should lie close to each other, a potential (attr) U{k,l} (x) = Attr(xk , xl ) = α · d(xk , xl )2 , with α a fixed constant, is appropriate Like above we use Attr(xk , xl | α) to denote a specific choice of α • Distance Potential: Since Rep(xk , xl | λ4 ) + Attr(xk , xl | 1) is minimized when d(xk , xl ) = λ, one can specify a desired distance between two layout elements (e.g edge length) by (dist) U{k,l} (x) = Dist(xk , xl ) = Rep(xk , xl | λ4 ) + Attr(xk , xl | 1) where Dist(xk , xl | λ4 ) is used like above Note that many other design rules (sufficiently large angles, vertex-edge distance, edge crossings, etc.) are easily formulated in terms of interaction potentials [3] If layouts x ∈ X are assigned probabilities P (X = x) = −U(x) e , Z −U(y) is a normalizing constant, random variable X is a where Z = y∈X e (Gibbs) random field Both X and its distribution are called a (random field) layout model for G Clearly, the above probabilities depend on the energy only, with a layout of low energy being more likely than a layout of high energy By using a random variable, the entire layout model is described in a single object Due to the familiar form of its distribution, a wealth of theory becomes applicable (a primer in the context of dynamic graph layout is [5]) See [13] for an overview on the theory of random fields, and some of its applications in image processing Since random fields are used so widely, there also is a great deal of literature on algorithms for energy minimization (see e.g [12]) The original spring embedder does not specify an objective function, but its gradients The above potentials appear in [6] Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 141 Figure 3: B´ezier cubic curve [2] Two endpoints and two control points define a smooth curve that is entirely enclosed by the convex hull of these four points A Layout Model for Curved Edges We now define a layout model for undirected train graphs G = (V, E) The layout elements that need to be positioned to render B´ezier curves are their control points In fact, we may consider stations and control points to be vertices of an auxiliary graph, so that rules for favorable positioning can be modeled by auxiliary edges of appropriate desired length Their geographical location gives the position of all vertices corresponding to stations, and we identify these vertices with their position Minimal edges as well as very long transitive edges are represented straight-line For the other edges we use B´ezier cubic curves (cf Figure 3).2 Let E˘τ1 ⊆ E be the set of transitive edges of length less than a threshold parameter τ1 , such that the set of layout elements consists of two control points for each edge in E˘τ1 , L = ˘τ1 If two B´ezier points belong to the same edge, bu (e), bv (e) | e = {u, v} ∈ E they are called partners The anchor, abv (e) , of any bv (e) ∈ L is v The default position of all B´ezier points is on the straight line through the endpoints of their edges at equal distance from their anchor and from their partner The position assigned to a B´ezier point is influenced by its partner, its anchor, all B´ezier points with the same anchor or close default positions, and all stations near the default position Let {u, v} ∈ E˘τ1 be a transitive edge, and let b ∈ L be a B´ezier point of {u, v} Given two parameters and , consider an ellipse with major axis going through u and v Let its radii be · d(u,v) and · d(u,v) , respectively We denote the set of all stations and B´ e zier points (at their default position) within this ellipse, except for b and its anchor, by Eb Recall that the neighborhood of some layout element consists of all those layout elements that have an influence on its positioning Therefore, ηb equals the union of Eb ∩ L, the set of B´ezier points with the same anchor as b, and (since interactions are symmetric) the set of B´ezier points b for which b ∈ Eb We used = 1.1 and = 0.5 for the examples presented in Section It will be obvious from the examples presented in Section refsec:examples why it is not useful to represent all transitive edges by B´ ezier curves Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 142 An interaction potential is defined for each design goal that a good layout of B´ezier points should achieve: • Distance to stations For each B´ezier point b ∈ L of some edge {u, v} ∈ ˘τ1 , there are repulsion potentials E Rep(xb , s | ( · λb )4 ), s∈Eb ∩V and a constant These ensure reasonable distance from with λb = d(u,v) stations in the vicinity of b and can be controlled via A combined repulsion and attraction potential Dist(xb , ab | (λ1 · λb )4 ) where λ is another constant, keeps b sufficiently close to its anchor ab • Distance to near B´ezier points As is the case with near stations, a B´ezier point b1 ∈ L should not lie too close to another B´ezier point b2 ∈ ηb1 If b1 is neither the partner of nor bound to b2 (binding is defined below), we add Rep(xb1 , xb2 | 42 · min{λ4b1 , λ4b2 }) The desired distance between partners b1 and b2 is equal to the desired distance from their respective anchors, Dist(xb1 , xb2 | (λ1 · λb1 )4 ) • Binding In general, it is not desirable to have B´ezier points b1 , b2 ∈ L with a common anchor lie on different sides of a minimal edge path through the anchor Therefore, we bind them together, if λb1 does not differ much λ from λb2 , i.e if τ12 < λbb1 < τ2 for a threshold τ2 ≥ 1, we add potentials β · Dist(xb1 , xb2 | λ42 · (λ4b1 + λ4b2 )/2) where λ2 is a stretch factor for the length of binding edges, and β controls the importance of binding relative to the other potentials In summary, the objective function is made of nothing but attraction and repulsion potentials that define an auxiliary graph layout problem in the following way: Stations correspond to vertices with fixed positions, while B´ezier points correspond to vertices to be positioned Edges of different desired lengths exist between B´ezier points and their anchors, between partners, and between B´ezier points bound together Just like edge lengths, the magnitude of repulsion differs across the elements See Figure and recall that repulsion potentials are defined on local neighborhoods only The respective influence of the different parameters is discussed in the following section Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 143 Figure 4: Auxiliary graph induced by B´ezier point layout interactions for the train graph of Figure 2(b) Note that there is no binding between the two layout elements indicated by black rectangles, because their default distances from the anchor differ too much (threshold parameter τ2 ) Experiments The objective function described in the previous section was obtained only after experimentation with a number of different potentials and parameters We started with a simple combination of repulsion from stations and attraction and repulsion from partners and anchors In fact, we then used splines to represent transitive edges It seemed that they offered better control, since they actually pass through their control points However, spline segments between partners tended to extend far into the layout area After replacing splines by B´ezier curves, the promising results encouraged us to try more elaborate objective functions In particular it showed that it is useful to represent long transitive edges straight-line, which led to the introduction of threshold τ1 A new requirement we found while discussing earlier examples with users was that incident (consecutive or nested) transitive edges should lie on one side of a path of minimal edges Binding proved to achieve this goal, but needed to be constrained to control segments of similar desired length, because otherwise short transitive edges are deformed when bound to long ones Threshold τ2 therefore controls the length ratio of segments bound Identification of a suitable vector θ = ( , , λ1 , λ2 , β, τ1 , τ2 ) of parameters is a serious problem Two nested simulated annealing computations are used in [11] to identify parameters of a spring embedder variant In [9], a genetic algorithm is used to breed a suitable objective function However, both meth- Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 144 ods are heuristic in defining their objective as well as in optimizing it Given one or more examples which are considered to be well done (e.g by manual rearrangement), a theoretically sound approach would be to carry out parameter estimation for random variable X(θ) describing the layout model as a function of parameter vector θ Given a layout x, the likelihood of θ is P (X = x | θ) = exp {−U (x | θ)} Z(θ) where Z(θ) = y∈X exp{−U (y | θ)} is the normalizing constant A maximum likelihood estimate θ∗ is obtained by maximizing the above expression with respect to θ Unfortunately, computation of Z(θ) is practically intractable, since it sums over all possible layouts One might hope to reduce computational demand by exploiting the locality of random fields (see e.g [13]) Even though neighboring layout elements are clearly not independent, reasonable estimates are obtained from the pseudo-likelihood function [1] l∈L exp − Zl (θ) UC (x | θ) C∈C : l∈C with Zl (θ) = xl ∈Xl exp{− C∈C : l∈C UC (x | θ)} However, Zl (θ) is a sum over all possible positions of layout element l, such that maximization is still intractable in this setting So we exploit locality in a very different way, namely by experimenting with small examples in a feedback cycle The parameters θ thus identified prove appropriate even for huge graphs, indicating that the local neighborhood definition lets the model scale well The rationale behind each component of θ = ( , , λ1 , λ2 , β, τ1 , τ2 ) is listed in Figure 5, as well as a choice of values that proved satisfactory The effects of some parameters are demonstrated in Figure It is clearly seen how increased repulsion potentials spread B´ezier points (Figs 6(a) and 6(b)) Without binding, curves tend to lie on different sides of minimal edges (Fig 6(c)), which can even be enforced (Fig 6(d)) This indicates why binding is a valuable refinement To carry out the above experiments and to generate large examples, we initially used an implementation of a fairly general random field layout module, written in C++ using LEDA [10] It provides a set of fundamental neighborhood types and interaction potentials, to which others can be added Since our main goals with this module are flexibility and model design, a simple simulated annealing approach is used for energy minimization Since it turned out that the final model needed only attraction and repulsion potentials, we later replaced the module with a customized implementation of the approach of [8], which sped up energy minimization by a factor of ten All running times given are with respect to this latter implementation executed on one 336 MHz Ultra-SPARCII processor of a SUN Enterprise 4000/5000 running under Solaris 2.5.1 with 1024 MBytes of RAM Note that neighborhoods are computed in a preprocessing step, and we have made no effort whatsoever to reduce its running time The original datasets provided by TLC/EVA are quite large: For a train graph of the size shown in Figure 10 (roughly 2,000 vertices and 4,000 edges), Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)167 has resulted in a variety of such algorithms; these take a combinatorial description of a graph and attempt to produce a drawing that is as readable as possible • CGA aims to navigate through graphs The logical operations at the lower layers must be reflected in changes to the drawing at the picture layer These changes must be “smooth” at the picture layer; that is, each static picture Di should be very similar to Di−1 , and successive key frames should be similar For DA-TU we have used a force-directed method to achieve both requirements Our methods are similar to those described in [9] In Section 3.1, we describe the force model that drives this technique Section 3.2 describes how animation is used to smooth the changes at the picture layer Note that other layout operations to satisfy the requirements above are possible; for an example, see [11] 3.1 The Force Model In this section, we briefly outline the force model It has been developed from several previous force models used in graph drawing [1, 3, 7, 10] We use three types of spring forces These operate between the vertices of the graph G in the abridgment C = (G, T ) • Internal-spring: A spring force between a pair of nodes in G which are siblings in T • External-spring: A spring force between a pair of nodes in G which are not siblings in T • Virtual-spring: Each cluster (non-leaf node of T ) ν has a virtual node ν associated with it In the picture, ν is a point within the rectangle representing ν Further, for each node u in G, if the parent of u in T is ν, then there is a virtual edge between u and ν A virtual-spring is a spring force between u ν along this virtual edge It is best to describe these spring forces with an example; see Figure 11 The internal-spring forces on vertex c are along the edges (c, a) and (c, b); the external-spring forces on c are along the edges (c, f ) and (c, g) Virtual-springs can be described using a virtual node in each cluster In the clusters X, Y , and Z, virtual nodes x , y , and z are shown; each virtual node is connected to each node in its cluster by a virtual edge Virtual-springs exert forces along these edges Note that virtual nodes and edges are not shown in the actual picture of the clustered graph (unless the user wants to see them) The internal-spring forces are stronger than the external-spring forces This tends to make siblings come close together This effect is increased by the virtual-spring forces The gathering operation strengthens the virtual-spring Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)168 Y a 11 00 00 11 00 y’11 b c X d 0 1 z’1 f h x’ e g Z Internal-spring Virtual-spring External-spring Figure 11: Spring forces forces and the internal-spring forces; this makes sibling nodes move closer together As well as spring forces, there are gravitational repulsion forces between all nodes The forces are applied additively to give an aesthetically pleasing layout of the graph The sum of forces on each node is continually computed, and the nodes move according to the strength and direction of these forces If the force on each node is zero, then the system has reached a locally minimal energy state, and the movement stops 3.2 Animations In DA-TU, the whole visualization is fully animated Every change at one of the lower layers, whether triggered by the user or by another agent, is animated at the picture layer This animation may reduce the cognitive effort of the user in recognizing change; we aim to preserve the user’s “mental map” [4] There are several types of animation that are implemented in our system These are detailed below • Force animation The force model above is used in the animation of all changes to picture The forces move the nodes toward a minimum energy state, and this movement gives the sequence D1 , D2 , , Dk of drawings to smoothly change the layout from abridgment to the next Overall, the animation driven by the forces is the most important mechanism for the Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)169 smooth transition between changes at the layers lower than the picture layer • Animated addition and deletion of nodes and edges When a node is deleted or added to the abridgment, we use animated shrinking or growing to help the user identify nodes that are disappearing or appearing Disappearing nodes lose their connecting edges, then shrink until they disappear Appearing nodes are displayed in a reduced size with their edges, then grow to be full-sized nodes This avoids the sudden disappearing/appearing of node images on the screen, which can disturb the user’s mental map • Animated cluster regions Nodes move according to the force model, and the rectangular regions representing clusters follow the nodes At all times, each cluster is the minimum enclosing rectangle of its children These rectangles move smoothly as the positions of the children change This is especially important for the gathering operation; the clusters separate smoothly • Animated scaling Animated shrinking scales down a picture if it gets too large for the screen Further, animated enlarging is used to increase the size of the picture; this enables the user to see details and makes direct manipulation operations of the picture easier In fact, animated scaling is implemented by simply changing the forces in the springs; for example, to shrink the whole picture, every spring is increased in strength • Animated cluster closing/opening: When closing a cluster, we firstly use animation to reduce the size of closed region of this cluster As soon as the size reaches a certain threshold layer we smoothly replace the representation of the cluster from its opened form (a red line bounded rectangle) to its closed form (a small black line bounded rectangle) When opening a cluster, we firstly smoothly replace the representation of the cluster from its closed form to its opened form The children and relevant links of the cluster are smoothly added into the layout Then we smoothly enlarge the size of this cluster to its normal size • Camera animation Camera animation moves the whole drawing It is optional It can be used, for example, to move specific nodes of interest to the center of the screen All these animations operate in parallel Implementation The strategy described in Sections and has been implemented in a prototype system called DA-TU1 A screenshot from DA-TU is in Figure 12; from DA-TU, the “Big map” in Mandarin Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)170 user can call many of the operations described in Section Note that operations at the graph layer are not implemented Figure 12: A screen from DA-TU This section records interactive sessions with DA-TU They illustrate the basic operations of the system and how it works to achieve a better quality of the layout of clustered graphs 4.1 Session one The first session is a storyboard applet at: http://www-staff.socs.uts.edu.au/˜ maolin/jgaa demo/jgaa demo.html using this applet, the reader may step through several types of operation This session has nine steps: A graph in DA-TU The animated layout is computed by a spring algorithm Note node a1 is fixed in the middle of the screen; it is the current focus The user creates five clusters However, there are some overlaps among the clusters Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)171 The user applies multiple forces in the ‘gathering’ operation to eliminate the overlaps This may improve the readability of the layout Note the ‘virtual edges’ and ‘virtual node’ in the cluster to the far left This holds the nodes within the cluster together The same layout as shown in last one; however, the virtual edges and node are invisible However, the ‘virtual spring’ applied between non-adjacent vertices c8 and c19 still operates Two clusters, Cluster and Cluster are ‘closed’ by clicking on regions occupied by these two clusters, in the ‘close’ mode The user also applies a little ‘gathering’ to keep the clusters disjoint Open the cluster Cluster by clicking on the cluster in the ‘open’ mode Some more ’gathering’ is applied to make the rectangles disjoint Close the cluster < b2, c5, c6, c7, c16, 17 > by clicking on its region, in the ‘close’ mode Open the clusters Cluster and then Cluster This is done by clicking on each of the clusters, one by one, in the ‘open’ mode Again, some ’gathering’ is applied Dismissing the whole cluster tree from the graph This is done by clicking on the ‘dismiss’ button in control panel 4.2 Session two The second session consists of Figures 13 to 20 This session shows operations on the graph in Figure 12 The first few figures show the results of operations create cluster and gathering, followed by an illustration of the virtual springs, and the close cluster operation 4.3 Session three The next session begins with Figure 16 The gathering operation, some close cluster operations, and an open cluster operation are shown Finally, a special operation dismiss clusters is shown Conclusions CGA provides an architecture for handling graphs visually The architecture is aimed at handling huge graphs, which may be too large to fit onto the screen The user begins with a picture of an abridgment of the graph This abridgment may be changed by user interaction or by an outside agent Navigation through the graph is basically moving between abridgments Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)172 The architecture has been implemented in a prototype system DA-TU This provides a simple interface to the functions of CGA It also uses a force-directed animated layout algorithm to ensure that the picture is aesthetically pleasing, and that transitions between pictures not destroy the “mental map” [4] Although DA-TU provides a proof of the main concepts of CGA, it is far from complete Our future plans include the implementation of a graph drawing system within an application domain (such as web graphs) in which huge graphs commonly occur Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)173 Figure 13: The user creates five clusters on the graph in Figure 12 However, this layout has five overlaps among the clusters Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)174 Figure 14: The user applies the spring forces in the “gathering” operation to eliminate the overlaps in Figure 13 This greatly improves the readability of the layout for the user Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)175 Figure 15: The same layout as shown in Figure 14; however, the virtual nodes and edges are shown Note the “virtual springs”, that is, an attractive force applied between non-adjacent vertices c8 and c19 Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)176 Figure 16: A clustered graph C with layers, after the application of spring forces in the “gathering” mode Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)177 Figure 17: Closing one cluster, ν = {b1, c3, c13, c14}, in Figure 16 by clicking on ν in the “close” mode The representation of the closed cluster ν is a small rectangle Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)178 Figure 18: Continuing, closing the cluster {c1, c2, c4, c15, Cluster 1} in Figure 17 Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)179 Figure 19: Opening the cluster Cluster in Figure 18, and then opening the cluster Cluster This is done by clicking on both visual rectangles of two clusters one by one under in the “open” mode Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)180 Figure 20: Dismissing the whole cluster tree from the layout as shown in Figure 19, and returning to the graph with no clusters This could be done by destroying the clusters one by one; however, a “dismiss” button is provide to destroy all clusters at once Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)181 References [1] G D Battista, P Eades, R Tamassia, and I G Tollis Graph drawing algorithms for the visualization of graphs Prentice-Hall, Englewood cliffs, NJ, 1999 [2] F Bertault and M Miller Graph drawing 99 In An algorithm for drawing compound graphs, 1999 (to appear) [3] P Eades A heuristic for graph drawing Congr Numer., 42:149–160, 1984 [4] P Eades, W Lai, K Misue, and K Sugiyama Preserving the mental map of a diagram In Proceedings of Compugraphics 91, pages 24–33, 1991 [5] P Eades and J Marks Graph drawing contest report In R Tamassia and I G Tollis, editors, Graph Drawing (Proc GD ’94), volume 894 of Lecture Notes Comput Sci., pages 143–146 Springer-Verlag, 1995 [6] Q Feng Algorithms for drawing clustered graphs In PhD thesis, Department of Computer Science and Software Engineering, The University of Newcastle, Australia., 1997 [7] T Fruchterman and E Reingold Graph drawing by force-directed placement Softw – Pract Exp., 21(11):1129–1164, 1991 [8] D Harel On visual formalisms Commun ACM, 31(5):514–530, 1988 [9] M L Huang, P Eades, and J Wang On-line animated visualization of huge graphs using a modified spring algorithm Journal of Visual Languages and Computing, 9(4), No vl980094:623–645, 1998 [10] T Kamada Symmetric graph drawing by a spring algorithm and its applications to radial drawing, 1989 [11] S Moen Drawing dynamic trees IEEE Software, 7:21–8, 1990 [12] S Mukherjea and J Foley Navigational view builder: A tool for building navigational views of information spaces In ACM SIGCHI ’94 Conference Companion, pages 289-290, 1994 [13] S C North Drawing ranked digraphs with recursive clusters preprint, Software Systems and Research Center, AT&T Laboratories., 1993 [14] G Sander Layout of compound directed graphs In Technical Report A/03/96, University of the Saarlands, 1996 [15] K Sugiyama A cognitive approach for graph drawing Cybernetics and Systems: An International Journal, 18:447–488, 1987 [16] K Sugiyama and K Misue Visualization of structural information: Automatic drawing of compound digraphs IEEE Transactions on Systems, Man and Cybernetics, 21(4):876–896, 1991 [...]... compared to Figure 5 Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 147 about 11 MBytes of time table data are evaluated Connections are classified into minimal and transitive edges using existing code The first example is shown in Figure 7 The graph represents regional trains in southwest Germany Edge classification, transformation into a layout graph, neighborhood generation, and layout. .. 2 minor axis radius of neighborhood defining ellipse (b) Parameters of the train graph layout model Figure 5: User specifiable parameters in the train graph layout model and a recommended choice applied to a small train graph Control segments shown instead of B´ezier curves (cf Figure 6) Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 146 (b) Station repulsion θ = ( 5 , 0.7, 0.7,... that appear to be misclassified Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 149 Ludwigshafen Mannheim Figure 8: Magnification from Figure 7 Basel Freiburg Figure 9: Magnification from Figure 7 Konstanz Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 150 Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 151 Figure 10: Italian train and... Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 152 Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 153 Figure 12: French connections 4,551 vertices, 7,793 edges (2,408 transitive), θ = (0.7, 0.3, 0.7, 0.5, 0.4, 100, 3) Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 154 (a) Paris has six long-distance stations Strasbourg (b) Strasbourg, gateway to France... nodes closer together In practice, this tends to make the cluster boundaries disjoint Examples of the gathering operation are in Section 4 • Scaling This operation can be used to increase the size of the picture to allow more detail to be seen, or reduce the size of the picture, to fit the screen • Layout operations These are classical layout functions, which produce a picture P of a clustered graph C from... graphs: these are graphs with a hierarchical node clustering superimposed 2 An online force-directed graph drawing method 3 Animation methods Using this strategy, a user may view an abridgment of a graph, that is, a small part of the graph that is currently of interest By changing the abridgment, the user may travel through the graph The changes use animation to smoothly transform one view to the next The... Clustered Graphs, JGAA, 4(3) 157–181 (2000)160 • The host system need not know the whole graph In this way, the graph can be huge (for example, it could be the whole World-Wide-Web) • Outside agents, such as clustering algorithms and graph drawing algorithms, can be employed • Expertise in different areas may be confined to different layers 2.1 The graph layer A graph in CGA is a classical undirected graph, ... graph as a database If the whole graph is known, then it may be implemented by storing the graph in a database However, in many applications the whole graph is not known (such as with web graphs), and a graph server” implementation is appropriate 2.2 The clustering layer A clustered graph C = (G, T ) consists of an undirected graph G = (V, E) and a rooted tree T such that the leaves of T are exactly the... makes that new node into a child of the root A special operation at the cluster layer is to dismiss clusters; this destroys all non-leaf clusters except the root Eades and Huang, Navigating Clustered Graphs, JGAA, 4(3) 157–181 (2000)163 2.3 The abridgment layer In applications, the whole clustered graph is too large to show on the screen; further, it is too large for the user to comprehend This motivates... Thomas Willhalm for making the train graph generation and edge classification code available We are grateful to Frank M¨ uller, Vaneesa K¨aa¨b, and Marco Gaertler, who carried out most of the other implementation work We also wish to thank the referees for some helpful suggestions Brandes and Wagner, Layout of Train Graphs, JGAA, 4(3) 135–155 (2000) 148 ⇐ ⇐ Figure 7: Regional trains in southwest Germany

Ngày đăng: 16/06/2016, 01:34

Từ khóa liên quan

Mục lục

  • 00.4.1.pdf

  • 00.4.2.pdf

  • 00.4.3.1.pdf

  • 00.4.3.2.pdf

  • 00.4.3.3.pdf

  • 00.4.3.4.pdf

  • 00.4.3.5.pdf

  • 00.4.3.6.pdf

  • 00.4.3.7.pdf

  • 00.4.3.8.pdf

  • 00.4.3.9.pdf

  • 00.4.4.pdf

  • 01.5.1.pdf

  • 01.5.2.pdf

  • 01.5.3.pdf

  • 01.5.4.pdf

  • 01.5.5.1.pdf

  • 01.5.5.2.pdf

  • 01.5.5.3.pdf

  • 01.5.5.4.pdf

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan