Biblioteca de gráficos .NET alrededor? [cerrado]

92

Estoy buscando bibliotecas de gráficos para .net. ¿Hay alguno fuera?

ps: me refiero a bibliotecas GRAPH, ¡no gráficos ni bibliotecas de gráficos!

editar: Lo que quiero decir son gráficos, de la teoría de grafos: (fuente: sourceforge.net )texto alternativo

También lo necesito para tener capacidades de dibujo.

elisio devorado
fuente
Tal vez podría ser útil: github.com/komorra/NodeEditorWinforms
komorra
El enlace de la imagen parece estar roto (redirige a otra cosa ahora)
UuDdLrLrSs

Respuestas:

44

Use una combinación de QuickGraph ( GitHub , CodePlex ) y Graph # para WPF ( bifurcación de GitHub , CodePlex ), ambas bibliotecas de primera categoría. Funcionan muy bien para mí, pero la documentación de Graph # es casi inexistente.

Matt Breckon
fuente
16

Estoy trabajando en el equipo de NDepend y cambiamos de GraphViz a MsAgl ( Microsoft Automatic Graph Layout ) en septiembre de 2008. La licencia de MsAgl permite la utilización comercial. Aquí hay algunas imágenes de muestra de gráficos de MsAgl integrados en NDepend (todo es interactivo, los nodos son movibles / seleccionables / removibles / clickables, los bordes son editables / seleccionables / removibles / clickables, el diseño es ampliable y también, aunque podría ser más limpio la API de MsAgl es lo suficientemente limpia para trabajar):

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Patrick del equipo NDepend
fuente
También puedes jugar con AGL en rise4fun.com/Agl y ver gráficos de otros en rise4fun.com/rest/samples/rss/Agl
George Birbilis
2
Tenga en cuenta que MSAGL ahora es OpenSource bajo licencia MIT en GitHub: github.com/Microsoft/automatic-graph-layout y parece mantenerse, ya que recientemente se ha
publicado
Con respecto a probar AGL en el sitio de Rise4Fun que mencioné, tal vez sea una opción simple para la lluvia de ideas, pero solo ingresa el gráfico en forma de texto allí y las etiquetas que usa para los nodos se usan como ID en esa sintaxis de texto, así que supongo que no puede haber un nodo con la misma etiqueta (por ejemplo, Casa) en dos lugares del gráfico. Parece que también puede usar etiquetas para los bordes del gráfico (para los enlaces), usando la sintaxis que se muestra en rise4fun.com/Agl/fsm (presione el botón PLAY allí y luego desplácese hacia abajo para ver qué gráfico se genera)
George Birbilis
¿Dónde puedo descargar una versión binaria estable? No quiero construir todas las fuentes de calidad desconocida.
Thomas Weller
Supongo que aquí github.com/Microsoft/automatic-graph-layout no estoy seguro si se incluye la versión binaria
Patrick del equipo NDepend
12

Si mi publicación anterior se elimina, intentaré dar una respuesta más compleja a la pregunta. La respuesta más alta ya no es del todo actual ya que la biblioteca Graph # está muy desactualizada.

Recomendaré verificar la combinación de GraphX y Quickgraph . GraphX ​​como motor de renderizado y Quickgraph como componente de gestión de gráficos y operaciones matemáticas.

La biblioteca GrpahX está codificada para WPF 4.0 y METRO. Proporciona muchas características de las que Graph # carece:

  • Rendimiento de renderizado mejorado para gráficos grandes
  • Compatibilidad con enrutamiento y agrupación de bordes, muchas otras opciones de borde
  • Control de zoom mejorado que admite la ventana de descripción general y la selección de múltiples vértices
  • Rica documentación y muestras

Además GraphX ​​admite todos los algoritmos de diseño originales de Graph #. Visite http://panthernet.ru/forum si tiene alguna pregunta.

Alexander Smirnov
fuente
El enlace GraphX ​​está muerto.
xabush
No, solo tuve serios problemas con los virus en el alojamiento. Los foros están en línea.
Alexander Smirnov
9

Existe QuickGraph , funciona bastante bien y tiene la mayoría de los algoritmos básicos.

Doug McClean
fuente
Bien, pero no parece poder dibujar los gráficos.
Devoró elisio
2
Cierto. Me dio la impresión de que estaba preguntando sobre la computación con los gráficos, en lugar de dibujarlos. Sin embargo, genera formatos consumidos por un par de herramientas de renderizado diferentes.
Doug McClean
5

Eche un vistazo a yWorks: http://www.yworks.com/en/index.html

No hay una gran cantidad de buenas bibliotecas, por lo que he visto.

COMO
fuente
1
Parece increíble, pero 7k para una biblioteca es ... demasiado para mí.
Devoró elisio
sorprendentemente, ¡esa es una de las opciones más baratas!
AS
1
Son 7k, pero me he divertido más con una API que con las bibliotecas yWorks .NET y WPF.
Matthew Ruston
5

Puede utilizar la API NodeXL de Microsoft Research en: http://www.codeplex.com/NodeXL, pero se ha hecho una pregunta similar en: /programming/44090/do-you-know-any -bibliotecas-de-visualización-gráfica-para-net /

DrDee
fuente
Suena bien, pero por lo que vi ahora en sus ejemplos, parece que básicamente tienes que dibujar todo tú mismo, lo que sería un problema ya que tengo miles de nodos para dibujar.
Devoró elisio
No estoy muy seguro de lo que quiere decir con 'dibujar todo por sí mismo', NodeXL es una extensión para Excel pero también una API para .Net y admite algoritmos de diseño de gráficos como el diseño dirigido por la fuerza (Fruchterman-Reingold o Harel-Koren multiescala rápida) o un diseño geométrico (círculo, cuadrícula, espiral, etc.). Lo he usado yo mismo y no hay mucho trabajo 'manual'
DrDee
Estaba hablando de otra cosa, me confundí con una respuesta diferente. Pero parece que NodeXL requiere Office 2007. Ni siquiera tengo Office instalado.
Devoró elisio
Ya instalé esto. Ahora, ¿cómo se supone que debo usarlo desde c #?
Devoró elisio
asegúrese de instalar la biblioteca API y no la extensión de Office Excel. La API está disponible en: codeplex.com/NodeXL/Release/… El espacio de nombres de NodeXL es Microsoft.NodeXL, por lo que puede importarlo usando: import Microsoft.NodeXL.Core import Microsoft.NodeXL.Visualization (creo que esos dos son los más bibliotecas importantes). Solo asegúrese de que la ruta de su IDE contenga la carpeta NodeXL.
DrDee
3

No lo he probado todavía, pero encontré una oferta interesante de MS Research para visualizar gráficos dirigidos Microsoft Automatic Graph Layout .

Intente utilizar "gráfico dirigido" o "dígrafo" para los términos de búsqueda. Recibo muchos golpes.

Emmanuel
fuente
3

Eche un vistazo a Satsuma . Escrito en C #, principalmente algoritmos de gráficos, pero también hay algunos diseños y dibujos básicos de gráficos.

szali
fuente
2

Visite http://quickgraph.codeplex.com/ Tienen soporte para visualización a través de DotViz y Glee.

Para la visualización, también echaría un vistazo

http://flare.prefuse.org/

Aunque es flash, parece muy interesante, y tienen al menos visualización de árbol, aunque es posible que puedas sacar algunos gráficos no dirigidos.

JBland
fuente
0

Biblioteca de colecciones genéricas de C5 para C # y CLI

jjchiw
fuente
¿No contiene solo algunos ejemplos de algoritmos de gráficos construidos sobre las estructuras de datos de la colección? Habría adivinado que la pregunta pide algo como la biblioteca C ++ BGL ( boost.org/doc/libs/1_40_0/libs/graph/doc/index.html ).
Pontus Gagge
Tienes razón, Pontus. Hay una clase Graph en los ejemplos de la guía del usuario, pero no forma parte de la biblioteca. Es un ejemplo construido sobre él. Y uno desordenado e incompleto al mirar la fuente.
Paul Sasik
Pero se puede usar, bueno, es como un enfoque .......
jjchiw
0

Amigo, creo que esto es lo que necesitas.

Este artículo presenta una biblioteca de gráficos genérica, 100% C #. Esta biblioteca es un intento de migrar la biblioteca de gráficos Boost (BGL) de C ++ a C #.

Autodidacta
fuente
1
Sí, pero tiene varios problemas al intentar dibujar los gráficos, por lo que he leído en los comentarios de codeproject.
Devoré elisio
0

Hemos utilizado ZedGraph, que es un proyecto de código abierto escrito en C #, por lo que puede modificarlo si lo cree necesario. Sirvió a nuestras necesidades, que parecen estar muy cerca de lo que describiste. Incluso hay un sitio wiki para el proyecto con algunas muestras bastante buenas.

Walter
fuente