Creación multiplataforma de informes a partir de archivos de texto

Uso GraphViz para muchas cosas, pero no funcionará para lo que tengo en mente. Estoy buscando algo similar para la generación de informes.

Quiero una herramienta que tome archivos de texto (no importa qué formato, probablemente algún lenguaje de comando propio) y genere archivos gráficos.

Debe tener
- gratis
- toma su entrada de un archivo de texto
- histogramas
- PNG, JPG

Es bueno tenerlo
: tengo una gran preferencia por la multiplataforma, pero podría vivir con una solución solo de Windows si no hay nada multiplataforma o si la solución de Windows es muy superior en características
: gráficos circulares
, cuadrículas/tablas numéricas
. otros tipos de gráficos
- otros informes sofisticados (?)
- muchas opciones, como colores, títulos, etiquetas, etc.
- SVG
- PDF
- amplia comunidad de usuarios, con buen soporte, ejemplos y documentación
- bien establecido, estable y bien probado
- cualquier otra cosa que se te ocurra

Respuestas (2)

Hay muchas bibliotecas de dibujo de gráficos de Python que le permiten generar gráficos muy rápidamente y mostrarlos o guardarlos. Un buen punto de partida es matplotlib . Nota: para facilitar la instalación en Windows, puede echar un vistazo a PythonXY, que incluye Python, Pandas y Matplotlib, y mucho más.

  • gratis - Sí y código abierto
  • toma su entrada como un archivo de texto - Las instrucciones de dibujo del gráfico son Python, que es un archivo de texto y los datos pueden tener casi cualquier formato o fuente.
  • Uso interactivo -
  • histogramas -
  • PNG, JPG - PNG definitivamente , JPG si tiene instalado PIL o Pillow
  • gráficos circulares - Sí y polares

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

  • cuadrículas/tablas numéricas -
  • otros tipos de gráficos - 100s
  • otros reportajes sofisticados - ¡ Muchos , especialmente si incluyes pandas en la mezcla!

    ingrese la descripción de la imagen aquí

  • muchas opciones, como colores, títulos, etiquetas, etc. -

  • SVG - Dependiente del back-end
  • PDF -
  • Multiplataforma - Sí - Muy
  • amplia comunidad de usuarios, con buen soporte, ejemplos y documentación - Muy
  • bien establecido, estable y bien probado - Ha sido utilizado por miles de personas y desarrollo desde 2002 al menos. En este momento SO reporta 14,934 preguntas con la etiqueta matplotlib. Hay varios libros sobre su uso.
    • Hay varios kits de herramientas complementarios de matplotlib, incluida una selección de dos kits de herramientas de proyección y mapeo, mapa base y cartopy, trazado en 3D con mplot3d, ejes y ayudantes de ejes en axes_grid y más.ingrese la descripción de la imagen aquí

Ejemplo de gráfico 3D:

>>> from matplotlib import cm
>>> from mpl_toolkits.mplot3d import Axes3D
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> fig = plt.figure()
>>> ax = fig.gca(projection='3d')
>>> X = np.arange(-5, 5, 0.25)
>>> Y = np.arange(-5, 5, 0.25)
>>> X, Y = np.meshgrid(X, Y)
>>> R = np.sqrt(X**2 + Y**2)
>>> Z = np.sin(R)
>>> surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm)
>>> plt.show()

ingrese la descripción de la imagen aquí

Véase también Jupyter

Si está produciendo informes que incrustan gráficos, le recomiendo encarecidamente que eche un vistazo a los cuadernos de Jupyter y iPython . Esta cadena de herramientas gratuita y de código abierto le brindará una interfaz basada en navegador para generar sus informes, que incluye:

  • una serie de bibliotecas de gráficos y trazados
  • Celdas de descuento
  • MathJax para fórmulas
  • Datos en vivo de la web
  • Code Cells en Python y una serie de otros lenguajes como R, Julia, Haskell y más de 30 lenguajes con el código ejecutable y los resultados incluidos de la última ejecución en su informe.
  • Incruste gráficos y videos de archivos o fuentes en línea
  • Guardar como cuaderno iPython (formato de texto/JSON),
  • Exporte a python, HTML, MarkDown, reST de texto reestructurado o PDF.
  • Prueba en línea aquí , pero generalmente ejecuta un servidor local (a menudo en la misma máquina).

Por lo tanto, puede incluir el diseño de la página, texto introductorio, datos, ejemplos, resultados de procesamiento, gráficos, imágenes, el lote y producir un resultado final, en pdf, web o ambos, que se ve realmente profesional.

ingrese la descripción de la imagen aquí

Steve, esto parece perfecto, pero lo dejaré abierto para ver si atrae más respuestas (lo que podría, por ejemplo, beneficiar a los que no son de Python (tal vez C/C++, etc); ¿a mí? Me encanta Python). También me gustaría señalar a los demás que este es un excelente ejemplo de cómo responder. Obviamente, ha pasado bastante tiempo para proporcionar una respuesta detallada que aborde cada uno de mis puntos y la inclusión de un ejemplo significa que ni siquiera tengo que visitar el sitio vinculado para juzgar si también es para mí o no. ¡Gracias!
@Mawg: gracias por las bonitas palabras. He ampliado un poco para incluir Jupyter, que permitiría la generación de informes completos y también es compatible con otros idiomas.

Gnuplot probablemente merece una mención aquí.

Es una aplicación de línea de comandos de la vieja escuela que se remonta a los primeros días de los gráficos por computadora, que solía ser bastante utilizada pero que se ha desvanecido un poco del centro de atención con la aparición de IPython.