Tidier Drawings of Trees

ArticleinIEEE Transactions on Software Engineering 7(2):223 - 228 · April 1981with 125 Reads
Abstract
Various algorithms have been proposed for producing tidy drawings of trees–drawings that are aesthetically pleasing and use minimum drawing space. We show that these algorithms contain some difficulties that lead to aesthetically unpleasing, wider than necessary drawings. We then present a new algorithm with comparable time and storage requirements that produces tidier drawings. Generalizations to forests and m-ary trees are discussed, as are some problems in discretization when alphanumeric output devices are used.

Do you want to read the rest of this article?

Request full-text
Request Full-text Paper PDF
  • ... To this end we support node-link diagrams (Reingold and Tilford, 1981;Burch et al., 2011), Pythago- ras trees (Beck et al., 2014a), circular treemaps ( Zhao and Lu, 2015;Hlawatsch et al., 2014) as well as 3D step-trees (see Figure 1) based on the general concept of treemaps (Shneiderman, 1992). All of the provided visualizations have their strengths when it comes to visual communication and hierarchy data exploration tasks. ...
    ... A lot of examples of hierarchi- cal data visualizations can be found in ( Jürgensmann and Schulz, 2010;Schulz, 2011). The most well- known types of hierarchical visualizations are node- link ( Reingold and Tilford, 1981;Burch et al., 2011;Eades, 1992), stacking ( Kruskal and Landwehr, 1983;Stasko and Zhang, 2000), nesting (Shneiderman, Figure 2: An overview of the file manager. In the top bar users can upload new files, underneath an alphabetically or- dered list of uploaded files is shown. ...
    ... Especially, when the trees become larger, then this results in a big challenge (Supowit and Reingold, 1982). Several different solutions exist for drawing tidy trees, as in ( Wetherell and Shannon, 1979) and the Reingold-Tilford algorithm (Reingold and Tilford, 1981). The latter serves as the base for our implementations, as the D3.js library uses a modified version of this algorithm. ...
    Conference Paper
    Full-text available
    In this paper we describe a web-based tool combining several hierarchy visualization techniques. Those run in a browser and support the communication of hierarchy data that is omnipresent in many application fields like biology, software engineering, sports, or in algorithmic approaches like hierarchical clustering. To this end we provide node-link diagrams, Pythagoras trees, circular, as well as 3D treemaps also called 3D step-trees to give several visual perspectives on the same data and to improve data exploration tasks. The visualizations are interactive and linked, while the tool is available online, making it easily accessible for people all around the world without installing extra software or relying on additional libraries and frameworks. Hierarchy datasets can be uploaded to a server and shared with others. The visualizations were primarily implemented using JavaScript, and more specifically, rendered using the D3.js library. We illustrate the usefulness of the interactive visualization by applying them to the NCBI taxonomy and the Influenza dataset.
  • ... If we draw a copy of the node, which references a node (named with DEF) somewhere else, then we can employ any drawing algorithm for trees. The drawing of trees is a well-known field [4]. In their seminal work [4] Tilford and Reingold state a set of requirements for tidy layered drawings: ...
    ... The drawing of trees is a well-known field [4]. In their seminal work [4] Tilford and Reingold state a set of requirements for tidy layered drawings: ...
    Conference Paper
    Full-text available
    In this paper we consider graph drawing for the application of scene graphs as encoded by VRML97/X3D. As these file formats store the structure and attributes of scenes in a directed a-cyclic graph, the techniques for drawing rooted trees are suitable but require much drawing space. Therefore we devised a smart, interactive drawing, which uses a detailed view of the current point of interest and an iconic view of sub-graphs besides the current point of interest. This interactive method balances detail and overview much better than classic techniques to cope with limited space like fish-eye views. Concerning implementation it is easy to implement with a small lines-of-code count (in Java).
  • ... R programming language and igrapg package is used to visualize the humanitarian supply network. The Reingold-Tilford layout (Reingold and Tilford, 1981) is used to create visually appealing and insightful the humanitarian supply network representation. Fruchterman-Reingold is one of the popular force- directed layout algorithms (Ognyanova, 2015). ...
    Purpose: The purpose of this paper is to investigate structural characteristics of humanitarian supply network of disaster relief operations in Khon Kaen province by using social network analysis. Design/methodology/approach: We apply social network analysis to real supply network data derived from the key legal document governing disaster management in Thailand, Disaster Prevention and Mitigation Act, B. E. 2550 and related government documents. We use different social network analysis metrics at the node-or firm-level. The metrics are linked to specific roles in the humanitarian supply network and their implication performance. Findings: The humanitarian supply network consists of 378 actors and 934 links. Khon Kaen Provincial Emergency Operation Centre (KK-PEOC) is prominent on all centrality metrics in the humanitarian supply network. The degree distribution of the humanitarian network follows a power law. This characteristic imply that the humanitarian network is a scale-free networks. Research limitations/implications (if applicable): Practical implications (if applicable): Originality/value: This paper presents application of social network analysis to reveal structural characteristics of humanitarian supply network of disaster relief operations in Khon Kaen province. The research revealed how the network operates and behaves.
  • ... A simple way to visualize a CAPEC parent-child tree is a vertex-edge dia- gram with vertices in the same level of the tree aligned along parallel lines (Reingold and Tilford, 1981). Fig. 27 shows an example of this. ...
    Chapter
    Full-text available
    This chapter examines how natural language processing can be applied for building rich models for cybersecurity analytics. For this, it applies text mining to the natural-language content of Common Attack Pattern Enumeration and Classification (CAPECTM), a standardized corpus of cyberattack patterns. We adopt a vector-space model in which CAPEC attack patterns are treated as documents with term vectors. This provides a space in which to define distance measures, such as for retrieving attack patterns through term queries or finding clusters of related attack patterns. Analysis of clustering patterns, i.e., cluster hierarchies (clusters within clusters) is aided through tree visualization techniques. These analytic and visual techniques provide a range of capabilities for leveraging the content and relationships in CAPEC, e.g., for building more complex security models such as network attack graphs.
  • ... In theory any graph layout algorithm could be used but for the clustree package we have made use of the two algorithms specifically designed for tree structures available in the igraph package [13]. These are the Reingold-Tilford tree layout, which places parent nodes above their children [14], and the Sugiyama layout which places nodes of a directed acyclic graph in layers while minimising the number of crossing edges [15]. Both of these algorithms can produce attractive layouts and as such we have not found the need to design a specific layout algorithm for clustering trees. ...
    Article
    Full-text available
    Clustering techniques are widely used in the analysis of large data sets to group together samples with similar properties. For example, clustering is often used in the field of single-cell RNA-sequencing in order to identify different cell types present in a tissue sample. There are many algorithms for performing clustering and the results can vary substantially. In particular, the number of groups present in a data set is often unknown and the number of clusters identified by an algorithm can change based on the parameters used. To explore and examine the impact of varying clustering resolution we present clustering trees. This visualisation shows the relationships between clusters at multiple resolutions allowing researchers to see how samples move as the number of clusters increases. In addition, meta-information can be overlaid on the tree to inform the choice of resolution and guide in identification of clusters. We illustrate the features of clustering trees using a series of simulations as well as two real examples, the classical iris dataset and a complex single-cell RNA-sequencing dataset. Clustering trees can be produced using the clustree R package available from CRAN (https://CRAN.R-project.org/package = clustree) and developed on GitHub (https://github.com/lazappi/clustree).
  • Article
    The rich semantic representation and sophisticated structure definition of the HL7 Fast Healthcare Interoperability Resources (FHIR) specification require relatively great efforts to understand and utilize. The objective of our study is to design, develop, and evaluate an open-source and user-friendly visualization interface for exploring the FHIR specification. We prototyped an interactive visualization tool for navigating and manipulating the FHIR core resources, profiles, and extensions. The utility of the tool was evaluated using evaluation metrics mainly focusing on its interactive mechanism and content expressiveness. We demonstrated that the visualization techniques are helpful for navigating the HL7 FHIR specification and aiding its profiling.
  • Chapter
    Graphs provide a versatile model for data from a large variety of application domains, for example, software engineering, telecommunication, and biology. Understanding the information that is represented by the graph is crucial for scientists and engineers to understand critical issues in these domains. Graph visualization is the process of creating a drawing of a graph so that a human can understand the graph. However, the depth of understanding depends on the quality of the graph representation. Good visualization can facilitate efficient visual analysis of the data to detect patterns and trends. Important aspects of the development of graph drawing methods are the efficiency and accuracy of the algorithms, and the quality of the resulting picture. In this chapter, we discuss the geometric properties of good graph visualizations as node-link diagrams, and describe methods for constructing good layouts of graphs.
  • Article
    Living systems can be envisioned as a beautiful fabric with weaves of different biological networks such as genetic, protein, transcription factors and metabolic interactions. The weave pattern or the network architecture is a precise predictor of healthy or diseased state of the organism. Network-based approach gives insight into pathogenesis pathway which leads to drug discovery process. It helps researchers and clinicians in grouping together the proteins that interact in functional complexes and pathways thus exploring disease network nodes as potential target for drug discovery. Biological data are often structured in the form of complex interconnected networks such as protein interaction and metabolic networks. Visualization tools help in the visualization of various interactome data. Sheer size, complexity and dynamic nature of networks, and the algorithm responsible for visualization are the main challenges of biological network visualization. Visualization tools are based on certain graph theories and algorithm for visualization. In the present work, directed and undirected graphs are used in the visualization of protein interactions data. To visualize time course behavior of genes, there is need to combine these two graph theories which can interpret biological phenomenon in better way. Further, force-directed algorithm is used for the visualization of protein interaction data. It helps in integrating interactome data and provides better visualization. To overcome this aspect, a holistic approach is required.
  • Article
    Constraints enable flexible graph layout by combining the ease of automatic layout with customizations for a particular domain. However, constraint‐based layout often requires many individual constraints defined over specific nodes and node pairs. In addition to the effort of writing and maintaining a large number of similar constraints, such constraints are specific to the particular graph and thus cannot generalize to other graphs in the same domain. To facilitate the specification of customized and generalizable constraint layouts, we contribute SetCoLa: a domain‐specific language for specifying high‐level constraints relative to properties of the backing data. Users identify node sets based on data or graph properties and apply high‐level constraints within each set. Applying constraints to node sets rather than individual nodes reduces specification effort and facilitates reapplication of customized layouts across distinct graphs. We demonstrate the conciseness, generalizability, and expressiveness of SetCoLa on a series of real‐world examples from ecological networks, biological systems, and social networks.
  • Article
    A pleasing layout of printed tree structures is difficult to achieve automatically. The paper points out three main problems. First, the horizontal position of a node on the printed page depends on global consideration of the position of other nodes; secondly, the physical characteristics of printers require scanning the tree in left-to-right top-to-bottom sequence; finally, page overflow for wide trees must be handled. These problems are illustrated by analysing the shortcomings of a simple printing algorithm. A suitable general binary tree printing algorithm is presented and its adaptation to other types of trees is shown.
  • Article
    We investigate the complexity of producing aesthetically pleasing drawings of binary trees, drawings that are as narrow as possible. The notion of what is aesthetically pleasing is embodied in several constraints on the placement of nodes, relative to other nodes. Among the results we give are: (1) There is no obvious “principle of optimality” that can be applied, since globally narrow, aesthetic placements of trees may require wider than necessary subtrees. (2) A previously suggested heuristic can produce drawings on n-node trees that are Θ(n) times as wide as necessary. (3) The problem can be reduced in polynomial time to linear programming; hence, if the coordinates assigned to the nodes are continuous variables, then the problem can be solved in polynomial time. (4) If the placement is restricted to the integral lattice then the problem is NP-hard, as is its approximation to within a factor of about 4 per cent.
  • Article
    Trees are extremely common data structures, both as internal objects and as models for program output. But it is unusual to see a program actually draw trees for visual inspection. Although part of the difficulty lies in programming graphics devices, most of the problem arises because naive algorithms to draw trees use too much drawing space and sophisticated algorithms are not obvious. We survey two naive tree drawers, formalize aesthetics for tidy trees, and descnbe two algorithms which draw tidy trees. One of the algorithms may be shown to require the minimum possible paper width. Along with the algorithms proper, we discuss the reasoning behind the algorithm development.
  • Tree drawing algorithms
    • J S Tilford
    J. S. Tilford, "Tree drawing algorithms," M.S. thesis, Dep. Comput.
  • He is currently an Associate Professor of Computer Science at the University of 11-linois, Urbana-Champaign. H-is areas of special-ization are data structures and the analysis of algorithms
    • C Wetherell
    • A Shannon
    C. Wetherell and A. Shannon, "Tidy drawimgs of trees," IEEE Trans. Software Eng., vol. SE-5, pp. 514-520, 1979. Edward M. Reingold received the B.S. degree from the Illinois Institute of Technology, Chicago, IL, and the M.S. and Ph.D. degrees from Cornell University, Ithaca, NY. -He is currently an Associate Professor of Computer Science at the University of 11-linois, Urbana-Champaign. H-is areas of special-ization are data structures and the analysis of algorithms. John S. Tilfoid received the B.A. degree from DePauw University, Greencastle, IN, in 1977. He is currently a Ph.D. candidate in computer science at the University of Illinois, Urbana-Champaign. His interests include data struc-tures and relational database design theory.
  • Tilfoid received the B.A. degree from DePauw University, Greencastle, IN, in 1977. He is currently a Ph.D. candidate in computer science at the University of Illinois
    • S John
    John S. Tilfoid received the B.A. degree from DePauw University, Greencastle, IN, in 1977. He is currently a Ph.D. candidate in computer science at the University of Illinois, Urbana- Champaign. His interests include data structures and relational database design theory.