Estudiate

Páginas: 41 (10062 palabras) Publicado: 10 de octubre de 2012
Drawing graphs with dot
Emden Gansner and Eleftherios Koutsofios and Stephen North January 26, 2006

Abstract dot draws directed graphs as hierarchies. It runs as a command line program, web visualization service, or with a compatible graphical interface. Its features include well-tuned layout algorithms for placing nodes and edge splines, edge labels, “record” shapes with “ports” for drawingdata structures; cluster layouts; and an underlying file language for stream-oriented graph tools. Below is a reduced module dependency graph of an SML-NJ compiler that took 0.98 seconds of user time on a 1.4 Ghz AMD Athlon.

IntNullD

IntNull

IntSparc

IntSparcD

CompSparc

Stream

Join

LrTable

Backpatch

Overloads

Loader

MakeMos

IntShare

RealDebug

BogusDebugBatch

Fastlib

Initial

CInterface

CleanUp

UnixPaths

Interact

ModuleComp

CG

Assembly

PrimTypes

PolyCont

Math

Unsafe

Importer

ProcessFile

Dummy

Core

NewParse

Linkage

FreeLvar

LambdaOpt

CoreFunc

MLLrValsFun

JoinWithArg

LrParser

Translate

InLine

Strs

Nonrec

MC

SparcAC

SparcMC

Signs

ApplyFunctorCoreLang

MCopt

SparcMCode

SparcAsCode

SparcMCEmit

SparcAsEmit

SparcCM

CPScomp

Coder

SigMatch

Misc

Typecheck

InlineOps

MCprint

Prof

IEEEReal

SparcInstr

CPSopt

CPSsize

Closure

ClosureCallee

MLLexFun

Index

PrintDec

Instantiate

PrintAbsyn

Interp

Absyn

Equal

Reorder

Convert

Opt

RealConst

BaseCoder

HoistContract

Expand

Spill

Profile

ContMap

CPSgen

Vector

BareAbsyn

PrintBasics

Overload

CoreInfo

Unboxed

Lambda

Bigint

CPSprint

Eta

GlobalFix

FreeMap

AbstractFct

PrintVal

EqTypes

PrintType

Prim

SortedList

Intset

CPS

Normalize

ArrayExt

ModuleUtil

Unify

Modules

TypesUtil

Sort

Fixity

Variables

AsciiBasicTypes

PrintUtil

List2

TyvarSet

ConRep

Tuples

Types

Dynamic

Stamps

Access

Siblings

Unionfind

PersStamps

Env

Symbol

Intmap

IntStrMap

StrgHash

ErrorMsg

Pathnames

1

dot User’s Manual, January 26, 2006

2

1

Basic Graph Drawing

dot draws directed graphs. It reads attributed graph text files and writes drawings, either asgraph files or in a graphics format such as GIF, PNG, SVG or PostScript (which can be converted to PDF). dot draws a graph in four main phases. Knowing this helps you to understand what kind of layouts dot makes and how you can control them. The layout procedure used by dot relies on the graph being acyclic. Thus, the first step is to break any cycles which occur in the input graph by reversing theinternal direction of certain cyclic edges. The next step assigns nodes to discrete ranks or levels. In a top-to-bottom drawing, ranks determine Y coordinates. Edges that span more than one rank are broken into chains of “virtual” nodes and unit-length edges. The third step orders nodes within ranks to avoid crossings. The fourth step sets X coordinates of nodes to keep edges short, and the finalstep routes edge splines. This is the same general approach as most hierarchical graph drawing programs, based on the work of Warfield [War77], Carpano [Car80] and Sugiyama [STT81]. We refer the reader to [GKNV93] for a thorough explanation of dot’s algorithms. dot accepts input in the DOT language (cf. Appendix A). This language describes three kinds of objects: graphs, nodes, and edges. The main(outermost) graph can be directed (digraph) or undirected graph. Because dot makes layouts of directed graphs, all the following examples use digraph. (A separate layout utility, neato, draws undirected graphs [Nor92].) Within a main graph, a subgraph defines a subset of nodes and edges. Figure 1 is an example graph in the DOT language. Line 1 gives the graph name and type. The lines that follow...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • estudiate
  • Estudiate
  • Estudiate
  • Estudiate
  • Estudiate
  • Estudiate
  • estudiate
  • estudiate

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS