Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Building dashboards in django

I have a django app and I would like to display some graphical data visualization to my users. I am looking for an easy-to-use package that would allow me to add graphs and widgets.

The kind of widget I want to build is a kind of speedometer dial that is red at one end and green at the other. As a user completes their job over the day, the graphic/widget adjusts itself. The dial moves from red to green.

I also want an S-curve graphic that shows the cumulative amount of work accomplished against planned. That is kind of an x/y line plot.

My question are: How easy is this to implement? Are there any add-ins libraries or packages that do this already? I am trying to keep my entire application open-source. I've seen a couple subscription services that do this type of thing, but I can't stomach the cost.

I don't mind using ajax or jquery to implement such a thing, but I would like the most elegant and maintainable solution.

Any advice or examples on how to tackle this project?

like image 464
codingJoe Avatar asked Feb 02 '23 11:02

codingJoe


2 Answers

There are lots of good javascript libraries these days, but all require some effort to learn how to use. I have not found one that really is easy to use, I guess because everyone wants something different. My general experience has been the more effort you put into learning them, the more you get out.

Google has gauges: http://code.google.com/apis/chart/interactive/docs/gallery/gauge.html Also

  • http://www.flotcharts.org/
  • http://philogb.github.com/jit/
  • http://www.highcharts.com/
  • http://www.jqplot.com/

Or really take control: http://mbostock.github.com/protovis/

like image 171
PhoebeB Avatar answered Feb 05 '23 15:02

PhoebeB


As first, see the following grid (https://www.djangopackages.com/grids/g/dashboard-applications/) on djangopackages.

Not sure if that's exactly what's asked for, but you might take a look at django-dash (https://pypi.python.org/pypi/django-dash).

It allows each user to make his own dashboard (from plugins available). Those dashboards can be made public.

Some screenshots (http://pythonhosted.org/django-dash/#screenshots).

It's modular and plugin based, so you need to make a plugin and widgets for every specific feature (in this particular case - the speedometer plugin and widgets for it). Each plugin/widget can include own JS/CSS when being rendered.

See the following chart usage examples:

  • D3.js integration examples (https://github.com/barseghyanartur/django-dash/tree/master/example/example/d3_samples).
  • Polychart2.js integration example (https://github.com/barseghyanartur/django-dash/blob/master/example/example/bar/).
like image 38
Artur Barseghyan Avatar answered Feb 05 '23 14:02

Artur Barseghyan