Usuario:Migsar/Visualización de grafos
La visualización de grafos es un área de las matemáticas y las ciencias de la computación que utiliza métodos de la teoría de grafos y visualización de la información para generar representaciones bidimensionales de los grafos, comúnmente utilizados en aplicaciones como el análisis de redes sociales, lacartografía, la lingüística y la bioinformática.[1]
El dibujo de un grafo o un diagrama de redes es una representación pictórica de los vértices y aristas de un grafo. Este dibujo no debe de ser confundido con el grafo, ya que representaciones muy diferentes pueden corresponder al mismo grafo.[2] En la estructura de datos lo único que importa son las conexiones entre nodos mediante aristas, también conocidas como arcos. En la representación gráfica, en contraste, la posición de los vértices y las aristas puede afectar significativamente la comprensión, usabilidad, costo y estética. El problema puede empeorar si el grafo cambia con el tiempo, es decir, añade o remueve elementos, pues su principal objetivo es mantener la imagen mental de los datos que tiene el usuario.[3]
Convenciones gráficas[editar]
Los grafos visualmente tienen dos elementos, el nodo, que corresponde al vértice, y las conexiones, que corresponden a las aristas. Los nodos suelen ser figuras circulares o rectangulares y las conexiones líneas de algún tipo (rectas, curvas, etc.). Este tipo de representación se puede rastrear hasta el siglo XIII con el trabajo de Ramon Llull.Error en la cita: La etiqueta de apertura <ref>
es incorrecta o tiene el nombre mal
En el caso de grafos dirigidos, las flechas son la convención más utilizada para mostrar su orientación; existen estudios que dicen que otras convenciones como tapering proporcionar esta información más eficazmente.[4] La visualización plana ascendente utiliza la convención de que cada arista apunte hacia arriba, por lo que las flechas no son necesarias.[5]
Existen representaciones alternativas como matrices de adyacencia, o empaquetamiento de circunferencia, en el que los vértices están representados por regiones disjuntas en el plano y las aristas por las adyacencias entre regiones; representaciones de intersección en las que los vértices están representados por objetos geométricos no disjuntos y las aristas por sus intersecciones; representaciones de visibilidad en las que los vértices están representadas por regiones en el plano y las aristas por regiones que tienen una línea de observación no interrumpida, es decir, suponiendo un espectador en un vértice y con la mirada dirigida hacia otro vértice no hay ningún elemento que evite que lo vea; representaciones confluentes, en las que las aristas se representab como curvas lisas dentro de una pista de tren (matemáticas) y mosaicos, en los que los nodos corresponden a líneas horizontales y las aristas a líneas verticales.[6]
Medidas de calidad[editar]
Existen muchas medidas de calidad diferentes, todas buscan encontrar un criterio objetivo para evaluar la estética y usabilidad de la visualización de un grafo.[7] Los dos principales usos son la elección de la representación adecuada y, de algún modo, optimizar las medidas de calidad propuestas.
Métodos de representación[editar]
Visualizaciones para casos particulares[editar]
Software[editar]
Software, sistemas, y proveedores de sistemas para la visualización de grafos:
- BioFabric, software de código abierto creado por el Instituto de Biología de Sistemas para visualizar redes grandes mediante el dibujado de nodos como líneas horizontales
- Cytoscape, software de código abierto para visualizar redes de interacción molecular
- Gephi, software de código abierto para análisis y visualización de redes y grafos
- graph-tool, librería de software libre en Python para análisis de grafos
- Graphviz, sistema de código abierto para visualización de grafos desarrollado por AT&T[8]
- Linkurious, software comercial (no abierto) para el análisis y la visualización de redes en bases de datos orientadas a grafos
- Mathematica, herramienta de computación de propósito general que incluye herramientas de visualización y análisis de grafos en 2D y 3D[9][10]
- Microsoft Automatic Graph Layout, librería en .NET (anteriormente llamada GLEE) para representación de grafos[11]
- NetworkX, librería de Python para el estudio de grafos y redes
- Tom Sawyer Software[12] software gráfico para crear visualizaciones de grafos y datos para empresas y aplicaciones de análisis. Es SDK que incluye una interfaz gráfica y un ambiente de pruebas
- Tulip (software), herramienta de código abierto para la visualización de datos[13]
- yEd, editor de grafos con funcionalidad de diseño de visualización[14]
- PGF/TikZ 3.0 con el paquete
graphdrawing
(requiere LuaTeX)[15] - LaNet-vi, software de código abierto para visualización de grandes redes
- Edraw Max 2D software orientado a negocios de diseño de diagramas técnicos
Referencias[editar]
- Footnotes
- ↑ Di Battista et al. (1994), pp. vii–viii; Herman, Melançon y Marshall (2000), Section 1.1, "Typical Application Areas".
- ↑ Di Battista et al. (1994), p. 6.
- ↑ Misue et al. (1995)
- ↑ Holten y van Wijk (2009); Holten et al. (2011).
- ↑ Garg y Tamassia (1995).
- ↑ Longabaugh (2012).
- ↑ Di Battista et al. (1994), Section 2.1.2, Aesthetics, pp. 14–16; Purchase, Cohen y James (1997).
- ↑ "Graphviz and Dynagraph – Static and Dynamic Graph Drawing Tools", by John Ellson, Emden R. Gansner, Eleftherios Koutsofios, Stephen C. North, and Gordon Woodhull, in Jünger y Mutzel (2004).
- ↑ GraphPlot Mathematica documentation
- ↑ Graph drawing tutorial
- ↑ Nachmanson, Robertson y Lee (2008).
- ↑ Madden et al. (1996).
- ↑ "Tulip – A Huge Graph Visualization Framework", by David Auber, in Jünger y Mutzel (2004).
- ↑ "yFiles – Visualization and Automatic Layout of Graphs", by Roland Wiese, Markus Eiglsperger, and Michael Kaufmann, in Jünger y Mutzel (2004).
- ↑ Tantau (2013); see also the older GD 2012 presentation
- Referencias generales
- Subtemas especializados