fbpx
Wikipedia

DOT


DOT es un lenguaje descriptivo en texto plano. Proporciona una forma simple de describir grafos entendible por humanos y computadoras. Los ficheros de DOT suelen usar la extensión .gv o .dot (aunque esta última esta en desuso debido a que puede confundirse con la usada por Microsoft Word en sus plantillas.[1]

Existen varios programas que pueden procesar programas en DOT. Algunos, como OmniGraffle, dot, neato, twopi, circo, fdp y sfdp, renderizan la descripción y generan gráficos en diversos formatos de imagen. Otros, como gvpr, gc, accyclic, ccomps, sccmap y tred, ejecutan cálculos sobre los grafos y por último, programas como GVedit, KGraphEditor, lefty, dotty o grappa proveen una interfaz para editar archivos DOT. La mayoría de estos programas o forman parte del paquete Graphviz o lo usan parcialmente para ejecutar cálculos.

Sintaxis

Tipo de gráficas

Gráficas indirectas

 
Una gráfica indirecta

En su forma más simple, DOT puede describir un grafo no dirigido, que es aquel que muestra relaciones simétricas entre varios objetos, por ejemplo la amistad entre personas. La palabra clave graph se usa para iniciar la definición de un nuevo grafo, los nodos son descritos por llaves {} y el guion doble (--) se usa para trazar las aristas entre los nodos.

 // el nombre del grafo y el punto y coma al final de la línea son opcionales graph nombre_del_grafo { a -- b -- c; b -- d; } 

Grafo dirigido

 
Una gráfica directa

DOT también puede describir grafos dirigidos, como diagramas de flujo o de árboles de dependencias. La sintaxis es la misma, exceptuando que la definición se inicia con diagraph y que se usa la flecha (->) para indicar el sentido de la relación.

 digraph nombre_del_diagrama { a -> b -> c; b -> d; } 

Atributos

 
Un diagrama con atributos

A los diagramas se les pueden aplicar atributos para modificar aspectos tales como el color, la forma, el tipo de línea, etc.[2]​ Los atributos se describen entre corchetes, atributo="valor", después de la definición del elemento y antes del punto y coma. Se pueden definir varios atributos separándolos por comas (,) y espacios.

 graph nombre_del_diagrama { // Este atributo se aplica a todo el diagrama modificando su tamaño size="1,1"; // El atributo ''label'' (etiqueta) puede usarse para modificar el título de un nodo a [label="Foo"]; // Este atributo cambia la forma del nodo b b [shape=box]; // Se puede cambiar el tipo de línea que rodea a las figuras con los atributos ''color'' y ''style'' (estilo ) a -- b -- c [color=blue]; b -- d [style=dotted]; } 

Las etiquetas definidas con el estilo HTML solo están disponibles en las versiones de Graphviz posteriores a noviembre de 2003). En particular, no son parte de la versión 1.10.[3]

Comentarios

DOT permite comentarios de una o múltiples líneas al estilo de los lenguajes de programación C y C++ e ignora también el texto que sigue a una almohadilla (#).

 // Este es un comentario que se extiende a una sola línea. /* Este es un comentario que se extiende en varias líneas. */ # Líneas como esta también son ignoradas. 

Programas

 
generado] por Graphiviz a partir de una archivo DOT

El lenguaje DOT define grafos, pero no provee un framework para generarlos. Existen varios programas que pueden ser usados para renderizar, ver o manipular grafos definidas en DOT:

  • Graphviz - Una colección de librerías y utilidades para manipular y renderizar imágenes.
  • Canviz - Librería en JavaScript para renderizar archivos DOT.
  • Viz.js - Un cliente para Graphviz en JavaScript
  • Grappa - Una envoltura de la librería Graphviz en Java.[4][5]
  • Beluging - Un visor en python alojado en la nube de Google y con extensiones Beluga.
  • Tulip - Es un programa que puede importar archivos en DOT para su análisis
  • ZGRViewer - Un visor basado en GraphViz

Limitaciones

 
Una imagen renderizada incorrectamente

Es posible modificar la disposición de los diagramas DOT. sin embargo no todas las herramientas que lo implementan prestan atención a todos los atributos posibles. Por lo tanto, el usuario debe prestar atención a la forma en que se posicionan en cada programa y tener en cuenta que esas posiciones cambiarán de un programa a otro.

Ejemplo:

digraph g { node [shape=plaintext]; A1 -> B1; A2 -> B2; A3 -> B3; A1 -> A2 [label=f]; A2 -> A3 [label=g]; B2 -> B3 [label="g'"]; B1 -> B3 [label="(g o f)'" tailport=s headport=s]; { rank=same; A1 A2 A3 } { rank=same; B1 B2 B3 } } 
 
Después de mover las etiquetas y las flechas un poco, la imagen se ve correctamente.

Hay dos problemas en la imagen superior. El cuadrado de la derecha no es perfecto y las etiquetas "(g y f)'" están en el lugar incorrecto.

Estos errores pueden corregirse con programas como Inkscape u otros programas que reconozcan el formato SVG. En algunos casos, esto también puede solucionarse con el atributo pos.

Otros formatos para describir grafos

  • TGF, un formato simple para la generación de grafos.
  • GML un formato muy popular y simple -- GML
  • GraphML, un formato basado en XML -- GraphML
  • GXL, otro formato basado en XML -- GXL
  • DGML, un formato desarrollador por Microsoft.

Véase también

Referencias

  1. «File extension .dot or .gv?». Consultado el 8 de marzo de 2011. 
  2. «Node, Edge and Graph Attributes». 
  3. HTML-Like Labels
  4. AT&T Labs Research - Grappa el 12 de octubre de 2010 en Wayback Machine.. .research.att.com. Retrieved on 2013-07-12.
  5. . Archivado desde el original el 22 de octubre de 2014. Consultado el 21 de febrero de 2014. 

Enlaces externos

  •   Wikimedia Commons alberga una categoría multimedia sobre Images generadas a partir de archivos DOT.
  • DOT tutorial and specification
    • Drawing graphs with dot
    • Node, Edge and Graph Attributes
    • Node Shapes
    • Gallery of examples
  • Webapp generating DOT descriptions of Huffman trees
  • Online graph visualization in SVG el 21 de mayo de 2012 en Wayback Machine.
  • Boost Graph Library
  • Grappa Drawing Package
  •   Datos: Q900927
  •   Multimedia: DOT language / Q900927

lenguaje, descriptivo, texto, plano, proporciona, forma, simple, describir, grafos, entendible, humanos, computadoras, ficheros, suelen, usar, extensión, aunque, esta, última, esta, desuso, debido, puede, confundirse, usada, microsoft, word, plantillas, existe. DOT es un lenguaje descriptivo en texto plano Proporciona una forma simple de describir grafos entendible por humanos y computadoras Los ficheros de DOT suelen usar la extension gv o dot aunque esta ultima esta en desuso debido a que puede confundirse con la usada por Microsoft Word en sus plantillas 1 Existen varios programas que pueden procesar programas en DOT Algunos como OmniGraffle dot neato twopi circo fdp y sfdp renderizan la descripcion y generan graficos en diversos formatos de imagen Otros como gvpr gc accyclic ccomps sccmap y tred ejecutan calculos sobre los grafos y por ultimo programas como GVedit KGraphEditor lefty dotty o grappa proveen una interfaz para editar archivos DOT La mayoria de estos programas o forman parte del paquete Graphviz o lo usan parcialmente para ejecutar calculos Indice 1 Sintaxis 1 1 Tipo de graficas 1 1 1 Graficas indirectas 1 1 2 Grafo dirigido 1 2 Atributos 1 3 Comentarios 2 Programas 3 Limitaciones 4 Otros formatos para describir grafos 5 Vease tambien 6 Referencias 7 Enlaces externosSintaxis EditarTipo de graficas Editar Graficas indirectas Editar Una grafica indirecta En su forma mas simple DOT puede describir un grafo no dirigido que es aquel que muestra relaciones simetricas entre varios objetos por ejemplo la amistad entre personas La palabra clave graph se usa para iniciar la definicion de un nuevo grafo los nodos son descritos por llaves y el guion doble se usa para trazar las aristas entre los nodos el nombre del grafo y el punto y coma al final de la linea son opcionales graph nombre del grafo a b c b d Grafo dirigido Editar Una grafica directa DOT tambien puede describir grafos dirigidos como diagramas de flujo o de arboles de dependencias La sintaxis es la misma exceptuando que la definicion se inicia con diagraph y que se usa la flecha gt para indicar el sentido de la relacion digraph nombre del diagrama a gt b gt c b gt d Atributos Editar Un diagrama con atributos A los diagramas se les pueden aplicar atributos para modificar aspectos tales como el color la forma el tipo de linea etc 2 Los atributos se describen entre corchetes atributo valor despues de la definicion del elemento y antes del punto y coma Se pueden definir varios atributos separandolos por comas y espacios graph nombre del diagrama Este atributo se aplica a todo el diagrama modificando su tamano size 1 1 El atributo label etiqueta puede usarse para modificar el titulo de un nodo a label Foo Este atributo cambia la forma del nodo b b shape box Se puede cambiar el tipo de linea que rodea a las figuras con los atributos color y style estilo a b c color blue b d style dotted Las etiquetas definidas con el estilo HTML solo estan disponibles en las versiones de Graphviz posteriores a noviembre de 2003 En particular no son parte de la version 1 10 3 Comentarios Editar DOT permite comentarios de una o multiples lineas al estilo de los lenguajes de programacion C y C e ignora tambien el texto que sigue a una almohadilla Este es un comentario que se extiende a una sola linea Este es un comentario que se extiende en varias lineas Lineas como esta tambien son ignoradas Programas Editar generado por Graphiviz a partir de una archivo DOT El lenguaje DOT define grafos pero no provee un framework para generarlos Existen varios programas que pueden ser usados para renderizar ver o manipular grafos definidas en DOT Graphviz Una coleccion de librerias y utilidades para manipular y renderizar imagenes Canviz Libreria en JavaScript para renderizar archivos DOT Viz js Un cliente para Graphviz en JavaScript Grappa Una envoltura de la libreria Graphviz en Java 4 5 Beluging Un visor en python alojado en la nube de Google y con extensiones Beluga Tulip Es un programa que puede importar archivos en DOT para su analisis ZGRViewer Un visor basado en GraphVizLimitaciones Editar Una imagen renderizada incorrectamente Es posible modificar la disposicion de los diagramas DOT sin embargo no todas las herramientas que lo implementan prestan atencion a todos los atributos posibles Por lo tanto el usuario debe prestar atencion a la forma en que se posicionan en cada programa y tener en cuenta que esas posiciones cambiaran de un programa a otro Ejemplo digraph g node shape plaintext A1 gt B1 A2 gt B2 A3 gt B3 A1 gt A2 label f A2 gt A3 label g B2 gt B3 label g B1 gt B3 label g o f tailport s headport s rank same A1 A2 A3 rank same B1 B2 B3 Despues de mover las etiquetas y las flechas un poco la imagen se ve correctamente Hay dos problemas en la imagen superior El cuadrado de la derecha no es perfecto y las etiquetas g y f estan en el lugar incorrecto Estos errores pueden corregirse con programas como Inkscape u otros programas que reconozcan el formato SVG En algunos casos esto tambien puede solucionarse con el atributo pos Otros formatos para describir grafos EditarTGF un formato simple para la generacion de grafos GML un formato muy popular y simple GML GraphML un formato basado en XML GraphML GXL otro formato basado en XML GXL DGML un formato desarrollador por Microsoft Vease tambien EditarGraphviz GrafoReferencias Editar File extension dot or gv Consultado el 8 de marzo de 2011 Node Edge and Graph Attributes HTML Like Labels AT amp T Labs Research Grappa Archivado el 12 de octubre de 2010 en Wayback Machine research att com Retrieved on 2013 07 12 Copia archivada Archivado desde el original el 22 de octubre de 2014 Consultado el 21 de febrero de 2014 Enlaces externos Editar Wikimedia Commons alberga una categoria multimedia sobre Images generadas a partir de archivos DOT DOT tutorial and specification Drawing graphs with dot Node Edge and Graph Attributes Node Shapes Gallery of examples Webapp generating DOT descriptions of Huffman trees Online graph visualization in SVG Archivado el 21 de mayo de 2012 en Wayback Machine Boost Graph Library Grappa Drawing Package Datos Q900927 Multimedia DOT language Q900927 Obtenido de https es wikipedia org w index php title DOT amp oldid 147914584, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos