Bibliotecas de visualización recomendadas para aplicaciones independientes.

9

¿Qué bibliotecas de visualización (diagramas, gráficos, ...) sugeriría usar en una aplicación independiente (Linux, .Net, Windows, lo que sea)? Un rendimiento razonable también sería bueno.

ymihere
fuente
¿Qué quiere decir, aplicación independiente?
Shane
Por aplicación independiente me refiero a un programa ejecutable.
ymihere

Respuestas:

18

El kit de herramientas de visualización VTK es bastante impresionante para las visualizaciones 3D de datos numéricos. Lamentablemente, también es bastante bajo nivel.

Graphviz se usa ampliamente para visualizar gráficos y otras estructuras de datos en forma de árbol.

igraph también se puede utilizar para visualizar estructuras de datos en forma de árbol. Contiene interfaces agradables para lenguajes de script como R y Python junto con una biblioteca C independiente.

La biblioteca NCL (lenguaje de comando NCAR) contiene algunas rutinas gráficas bastante ordenadas, especialmente si está buscando datos multidimensionales distribuidos espacialmente, como los campos de viento. Lo que tiene sentido ya que NCAR es el Centro Nacional de Investigación Atmosférica.

Si está dispuesto a relajar el requisito ejecutable, o probar una herramienta como py2exe , existe la posibilidad de aprovechar algunas bibliotecas y aplicaciones Python ordenadas como:

  • MayaVi : un front-end de nivel superior para VTK desarrollado por Enthought.

  • Chaco : Otra biblioteca de Enthought enfocada en gráficos 2D.

  • Matplotlib : otra biblioteca de trazado 2D. Tiene buen soporte para la anotación matemática basada en TeX.

  • Mapa base : un complemento de Matplotlib para dibujar mapas y mostrar datos geográficos ( ejemplos atractivos aquí ).

Si tuviéramos que doblar aún más el concepto de "aplicación independiente" para incluir archivos PDF, hay algunas bibliotecas de gráficos disponibles para los usuarios de LaTeX:

  • La asíntota puede generar una variedad de gráficos, pero su joya de la corona es definitivamente la capacidad de incrustar gráficos 3D en documentos PDF que pueden ser manipulados (ampliados, rotados, animados, etc.) por cualquiera que use el lector Adobe Acrobat ( ejemplo ).

  • PGF / TikZ proporciona un maravilloso lenguaje de dibujo vectorial para documentos TeX. El manual es, sin lugar a dudas, la documentación mejor escrita, completa y hermosa que he visto en un proyecto de código abierto. PGFPlots proporciona una capa de abstracción para dibujar trazados. Un escaparate maravilloso se puede encontrar en TeXample .

  • PSTricks sirvió de inspiración para TikZ y permite a los usuarios aprovechar el poder del lenguaje PostScript para crear algunos gráficos limpios.

Y para las patadas, hay DISLIN , que tiene una interfaz nativa para Fortran! Sin embargo, no es de código abierto ni es gratuito para uso comercial.

Sharpie
fuente
Tiendo a usar algunos más que otros: la herramienta que uso con más frecuencia para la visualización es R y los paquetes asociados, pero lo dejé fuera de esta lista porque no hay una manera fácil de compilar scripts R en "ejecutables" independientes que el OP querido. Realmente no puedo reclamar un solo favorito, tendría que decir que depende de 1) La tarea en cuestión y 2) Las herramientas que estoy usando
Sharpie
9

Siempre hay un encantador gnuplot:

Gnuplot es una utilidad de gráficos portátil basada en línea de comandos para Linux, OS / 2, MS Windows, OSX, VMS y muchas otras plataformas. El código fuente tiene derechos de autor pero se distribuye libremente (es decir, no tiene que pagar por él). Originalmente se creó para permitir a los científicos y estudiantes visualizar funciones y datos matemáticos de manera interactiva, pero ha crecido para admitir muchos usos no interactivos, como la creación de secuencias de comandos web. También se usa como motor de trazado para aplicaciones de terceros como Octave. Gnuplot ha sido apoyado y en desarrollo activo desde 1986.

Gnuplot admite muchos tipos de gráficos en 2D y 3D. Puede dibujar usando líneas, puntos, cuadros, contornos, campos vectoriales, superficies y varios textos asociados. También es compatible con varios tipos de parcelas especializadas.

miku
fuente
4

Para javascript protovis (http://vis.stanford.edu/protovis/) es muy agradable.

Joe
fuente
3

Puede ser un poco limitado en alcance, pero si está haciendo algún trabajo en Clojure en la JVM, está el excelente Incanter :

Incanter es una plataforma tipo R basada en Clojure para computación estadística y gráficos.

Mike Mazur
fuente
3
Más específicamente, el autor de la pregunta puede estar interesado en JFreeChart, que potencia muchos gráficos de Incanter.
Sharpie
1

He usado ZedGraph para .NET. Es de código abierto y admite todos los tipos de gráficos 2D comunes.

nikie
fuente
0

Desafortunadamente, solo se ejecuta en Mac, pero de lo contrario es una gran aplicación (básicamente Procesamiento en python):

NodeBox es una aplicación de Mac OS X que le permite crear imágenes en 2D (estáticas, animadas o interactivas) utilizando el código de programación de Python y exportarlas como un PDF o una película QuickTime. NodeBox es gratuito y está bien documentado.

miku
fuente