2011-11-18 34 views
6

Tengo una aplicación django y me gustaría mostrar algunas visualizaciones de datos gráficos a mis usuarios. Estoy buscando un paquete fácil de usar que me permita agregar gráficos y widgets.Building dashboards en django

El tipo de widget que quiero construir es una especie de marca del velocímetro que es roja en un extremo y verde en el otro. A medida que un usuario completa su trabajo durante el día, el gráfico/widget se ajusta a sí mismo. El dial se mueve de rojo a verde.

También quiero un gráfico de curva en S que muestre la cantidad acumulada de trabajo realizado en comparación con el planificado. Esa es una especie de diagrama de línea x/y.

Mi pregunta es: ¿Qué tan fácil es esto para implementar? ¿Hay alguna biblioteca o paquete de complementos que ya lo haga? Estoy tratando de mantener toda mi aplicación de código abierto. He visto un par de servicios de suscripción que hacen este tipo de cosas, pero no puedo soportar el costo.

No me importa usar ajax o jquery para implementar tal cosa, pero me gustaría la solución más elegante y fácil de mantener.

¿Algún consejo o ejemplos sobre cómo abordar este proyecto?

Respuesta

4

Hay muchas buenas bibliotecas de JavaScript en estos días, pero todas requieren un poco de esfuerzo para aprender a usarlas. No he encontrado uno que realmente sea fácil de usar, supongo porque todos quieren algo diferente. Mi experiencia general ha sido que cuanto más esfuerzo pones en aprenderlos, más salís.

Google tiene medidores: http://code.google.com/apis/chart/interactive/docs/gallery/gauge.html también

o realmente tomar el control:​​

+0

Google también ofrece algunas muy buenas gráficas y similares en su API AJAX: http://code.google.com/apis/ajax/playground/# annotated_time_line –

+0

Sí, y el código de zona de juegos también facilita la personalización. – PhoebeB

+0

Actualización: echa un vistazo a D3.js si aún no lo has encontrado. – metasequoia

2

Protovis ya no está bajo desarrollo activo, pero comenzó un nuevo poject: http://d3js.org/

4

Como primera, consulte la siguiente rejilla (https://www.djangopackages.com/grids/g/dashboard-applications/) en djangopackages.

No estoy seguro de si eso es exactamente lo que se solicita, pero puede echar un vistazo a django-dash (https://pypi.python.org/pypi/django-dash).

Permite a cada usuario crear su propio tablero (desde los complementos disponibles). Esos paneles se pueden hacer públicos.

Algunas capturas de pantalla (http://pythonhosted.org/django-dash/#screenshots).

Está basado en módulos y complementos, por lo que debe crear un complemento y widgets para cada función específica (en este caso particular, el plugin del velocímetro y los widgets para él). Cada complemento/widget puede incluir el propio JS/CSS cuando se procesa.

Ver los siguientes ejemplos de uso gráfico: