Articulo de referencia

DOT (lenguaje de descripción de gráficos)

.gv "},"_nomimecode":{"wt":"on"},"mime":{"wt":""},"type_code":{"wt":""},"uniform_type":{"wt":""},"conforms_to":{"wt":""},"magic":{"wt":""},"developer":{"wt":""},"released":{"wt"...

DOT es un lenguaje de descripción de gráficos , desarrollado como parte del proyecto Graphviz . Los gráficos DOT se almacenan normalmente como archivos con la extensión .dt.gv o .dt ; se prefiere para evitar confusiones con la extensión utilizada por las versiones de Microsoft Word anteriores a 2007. [ 1 ] es también el nombre del programa principal para procesar archivos DOT en el paquete Graphviz..dot.gv.dotdot

Diversos programas pueden procesar archivos DOT. Algunos, como dot , neato , twopi , circo , fdp y sfdp , leen archivos DOT y los representan gráficamente. Otros, como gvpr , gc , acyclic , ccomps , sccmap y tred , leen archivos DOT y realizan cálculos sobre el gráfico resultante. Finalmente, otros, como lefty , dotty y grappa , ofrecen una interfaz interactiva. La herramienta GVedit combina un editor de texto con un visor no interactivo. La mayoría de los programas forman parte del paquete Graphviz o lo utilizan internamente.

DOT es históricamente un acrónimo de "DAG del mañana", como sucesor de un formato DAG y un programa DAG que manejaba solo grafos acíclicos dirigidos . [ 2 ]

Sintaxis

Tipos de gráficos

Grafos no dirigidos

Un grafo no dirigido

En su forma más simple, DOT se puede usar para describir un grafo no dirigido . Un grafo no dirigido muestra relaciones simples entre objetos, como la amistad recíproca entre personas. La graphpalabra clave se usa para iniciar un nuevo grafo, y los nodos se describen dentro de llaves. Un guion doble ( --) se usa para mostrar relaciones entre los nodos.

// El nombre del gráfico y los puntos y coma son opcionales.gráfico nombre del gráfico {a -- b -- c ;b -- d ;}

Grafos dirigidos

Un grafo dirigido

Al igual que con los grafos no dirigidos, DOT puede describir grafos dirigidos , como diagramas de flujo y árboles de dependencia . La sintaxis es la misma que para los grafos no dirigidos, excepto que digraphse usa la palabra clave para iniciar el grafo y una flecha (->) para mostrar las relaciones entre los nodos.

digrafo nombre_grafo { a -> b -> c ; b -> d ; }

Atributos

Un gráfico con atributos

En los archivos DOT se pueden aplicar diversos atributos a los gráficos, nodos y aristas. [ 3 ] Estos atributos pueden controlar aspectos como el color, la forma y los estilos de línea. Para los nodos y las aristas, uno o más pares atributo-valor se colocan entre corchetes []después de una instrucción y antes del punto y coma (que es opcional). Los atributos de los gráficos se especifican como pares atributo-valor directos bajo el elemento gráfico, donde varios atributos se separan con una coma o mediante varios conjuntos de corchetes, mientras que los atributos de los nodos se colocan después de una instrucción que contiene solo el nombre del nodo, pero no las relaciones entre los puntos.

graph graphname { // Este atributo se aplica al propio gráfico size = "1,1" ; // El atributo label se puede usar para cambiar la etiqueta de un nodo a [ label = "Foo" ]; // Aquí, se cambia la forma del nodo. b [ shape = box ]; // Estos bordes tienen propiedades de línea diferentes a -- b -- c [ color = blue ]; b -- d [ style = dotted ]; // [style=invis] oculta un nodo. }

Se admiten etiquetas similares a HTML, aunque inicialmente Graphviz no las manejaba. [ 4 ]

Comentarios

DOT admite comentarios de una o varias líneas al estilo de C y C++ . Además, ignora las líneas cuyo primer carácter sea el símbolo de número, al igual que muchos lenguajes interpretados.#

Programas de diseño

Árbol binario generado en Graphviz a partir de una descripción DOT mediante un generador de árboles de Huffman en línea.

El lenguaje DOT define un grafo, pero no proporciona herramientas para representarlo. Existen varios programas que se pueden usar para representar, visualizar y manipular grafos en el lenguaje DOT:

General

  • Graphviz : una colección de utilidades y bibliotecas de línea de comandos para manipular y renderizar gráficos en diferentes formatos como SVG , PDF , PNG , etc.
    • dot– Herramienta de línea de comandos para la conversión entre .doty otros formatos.

JavaScript

  • Canviz : una biblioteca de JavaScript para renderizar archivos DOT [ 5 ] 
  • d3-graphviz : una biblioteca de JavaScript basada en Viz.js y D3.js que renderiza gráficos DOT y admite transiciones animadas entre gráficos y manipulación interactiva de gráficos [ 6 ]. 
  • Vis.js : una biblioteca de JavaScript que acepta DOT como entrada para gráficos de red. [ 7 ] 
  • Viz.js: una versión en JavaScript de Graphviz que proporciona un envoltorio sencillo para usarlo en el navegador. [ 8 ]
  • hpcc-js/wasm Graphviz : una biblioteca WASM rápida para Graphviz similar a Viz.js [ 9 ] 

Java

  • Gephi : una plataforma interactiva de visualización y exploración para todo tipo de redes y sistemas complejos, gráficos dinámicos y jerárquicos. 
  • Grappa : una adaptación parcial de Graphviz a Java. 
  • graphviz-java : una adaptación parcial de código abierto de Graphviz a Java , disponible en github.com. 
  • ZGRViewer un visor DOT [ 10 ] 

Otro

Notas

  1. "¿Extensión de archivo .dot o .gv?" . marc.info . Consultado el 8 de marzo de 2011 .
  2. "Nombre 'punto' (etimología)" . Graphviz . 14 de noviembre de 2022. Consultado el 10 de julio de 2023 .
  3. "Atributos de nodos, aristas y grafos" . graphviz.org . Consultado el 12 de mayo de 2017 .
  4. "Formas de nodos: etiquetas similares a HTML" . graphviz.org . Consultado el 12 de mayo de 2017 .
  5. "canviz: graphviz en un lienzo" . Consultado el 2 de junio de 2017 .
  6. "GitHub - magjac/d3-graphviz: Renderizado de Graphviz DOT y transiciones animadas usando D3" . github.com . Consultado el 6 de junio de 2018 .
  7. "Importar datos en lenguaje DOT" . vis.js. Consultado el 22/12/2018 .
  8. "Github - Viz.js - Graphviz en tu navegador" .
  9. "hpcc-js/wasm" . GitHub . Consultado el 21 de octubre de 2020 .
  10. "ZGRViewer" . zvtm.sourceforge.net . Consultado el 12 de mayo de 2017 .
  11. "dot2tex – Un convertidor de Graphviz a LaTeX" . dot2tex.readthedocs.io . 1 de noviembre de 2019.
  12. "Software de visualización de datos – Tulip" . tulip.labri.fr . Consultado el 12 de mayo de 2017 .
  13. "GitHub - gvhung/vizierfx: Exportado automáticamente desde code.google.com/p/vizierfx" . github.com . Consultado el 12 de mayo de 2017 .

Véase también

  • Tutorial y especificaciones del DOT
    • Dibujar gráficos con puntos
    • Atributos de nodos, aristas y grafos
    • Formas de nodos
    • Galería de ejemplos
  • Graphviz Online : conversión y visualización instantánea de descripciones DOT.
  • Biblioteca de gráficos Boost
  • lisp2dot o tree2dot : convierte árboles de programas similares al lenguaje de programación Lisp al lenguaje DOT (diseñado para su uso con programación genética ).
Obtenido de " https://en.wikipedia.org/w/index.php?title=DOT_(graph_description_language)&oldid=1352139790 "