2009-03-04 23 views
20

Quiero incrustar un gráfico en una aplicación web desarrollada usando django.Gráficos en aplicaciones web django

me he encontrado Google charts API, ReportLab, PyChart, MatPlotLib y ChartDirector

quiero hacerlo en el lado del servidor en lugar de enviar la petición AJAX para las API de gráficos de Google, como también quiero incrustar el gráfico en el PDF.

Cuál es la mejor opción para usar, y cuáles son los méritos y deméritos relativos de uno sobre el otro.

+0

¿Qué significa "lo mejor" en este contexto? Por favor, defina algunos criterios que desea optimizar. –

+1

Simplicidad de la API, la estética y la capacidad de incrustar en un pdf fácilmente –

+0

Dicho esto, y si cree que incrustar un archivo png en un pdf es fácil, CairoPlot es una buena opción. – Rodrigo

Respuesta

7

Otra opción es CairoPlot.

Elegimos matplotlib sobre los demás para algunos gráficos serios dentro de una de nuestras aplicaciones django, principalmente porque era el único que nos daba exactamente el tipo de control que necesitábamos.

Generación de rendimiento PNG estaba bien para nosotros, pero ... era una aplicación altamente especializada con menos de 10 inicios de sesión por día.

+0

Hola, soy el que mantiene CairoPlot. ¿Podrías definir lo que CairoPlot le faltaba para usarlo? Tal vez pueda arreglarlo para que sea mejor para las aplicaciones de Django. – Rodrigo

+0

@Rodrigo: Si recuerdo con CairoPlot, el problema fue simplemente que no descubrimos CairoPlot hasta después de que ya teníamos algunos gráficos codificados con matplotlib. Sin embargo, consultaré con los miembros de mi equipo para ver si hay algo que estoy olvidando. Nuestro proyecto también fue pre-1.1, por lo que podría ser un problema. –

+0

@Van Gale: Agradable. Si intenta usarlo hoy en día, debería usar la versión troncal ya que aún no hemos lanzado el 1.2. – Rodrigo

5

Bueno, yo estoy involucrado en un proyecto de código abierto, Djime, que utiliza OpenFlashChart 2.

, como puede ver en our code, generar los datos JSON que OFC utiliza es un poco complejo, pero la salida es muy agradable y fácil de usar, ya que puede agregar información sobre herramientas, etc. a los diferentes elementos.

+1

No me gusta Flash, por lo que mi +1 es para apuntar a su proyecto que no había visto antes, y para que parezca un proyecto serio en comparación con un juguete. ¡Gracias! –

+0

@mikl el enlace del proyecto está MUERTO: | –

0

He usado FusionCharts Free con Django.

Su flash basado en código abierto, con licencia múltiple y está bien documentado. Es ActionScript 1, pero la versión AS no era realmente un criterio para mí, aunque podría ser para otros.

3

Un paquete que he querido probar es graphite. Es un servidor/plataforma de gráficos construido con Django. Sin embargo, está especializado en "datos numéricos de series de tiempo", como el precio de las acciones o la utilización del ancho de banda. Si eso se ajusta a tu necesidad, lo verificaría. Aquí hay algunas capturas de pantalla:

http://graphite.wikidot.com/screen-shots

1

me gustan los gráficos del lado del cliente, ya que puede obtener el trazado de página completa.

Una buena opción parece ser Jquery Flot: http://code.google.com/p/flot/ que puede cargar datos JSON. Sin embargo, no obtendrá soporte de pdf.

1

Quizás le interese echar un vistazo aquí: Django Plotting app. El HowTo describe cómo insertar gráficos de matplotlib en la interfaz de administración y crear una vista de PDF.

+0

Tu enlace se ha podrido. – tacaswell

Cuestiones relacionadas