Data Visualization in Django: A dream?

by Marty Alchin on November 16, 2007 about Django

Continiung a bit in the vein of yesterday’s post, one thing I go keep wishing I could do is easily generate graphs and charts of Django-managed data. I have so much other stuff going on that I can’t work on it now, but I’d love to do it sometime. I know things like matplotlib are already out there, and I’m not hoping to reinvent them.

Instead, I’d like to built a Django-friendly interface to them, using declarative syntax, for instance. Also useful would be to automatically identify DateField and DateTimeField instances and correlate them to other data automatically, so you can easily generate time-based graphs and link them up to actual events.

Imagine viewing a graph of your blog stats with built-in markers indicating when you posted. Then, you click a tag and your graph is automatically filtered articles containing that tag, possibly also limiting your stats to hits on pages containing those articles. Or you select a few tags, and you get a bar chart, comparing the average page views for each tag, for a certain amount of time after a post was published. So you can get a good idea of which tags generate the most buzz on your blog.

Now imagine taking that to sports scores, crime data, anything you can imagine. If there were an easy and powerful way to bridge the gap between Django models and matplotlib, a world of possibilities awaits.