Question

I want to Embed a chart in a Web Application developed using django.

I have come across Google charts API, ReportLab, PyChart, MatPlotLib and ChartDirector

I want to do it in the server side rather than send the AJAX request to Google chart APIs, as I also want to embed the chart into the PDF.

Which is the best option to use, and what are the relative merits and demerits of one over the other.

Was it helpful?

Solution

Another choice is CairoPlot.

We picked matplotlib over the others for some serious graphing inside one of our django apps, primarily because it was the only one that gave us exactly the kind of control we needed.

Performance generating PNG's was fine for us but... it was a highly specialized app with less than 10 logins a day.

OTHER TIPS

Well, I'm involved in an open source project, Djime, that uses OpenFlashChart 2.

As you can see from our code, generating the JSON-data that OFC uses is a bit complex, but the output is very nice and user friendly, since you can add tooltips, etc. to the different elements.

One package I've wanted to try is graphite. It's a graphing server / platform built with Django. It's specialized for "numeric time-series data" though, like stock prices or bandwidth utilization. If that fits your need I would check it out. Here are some screenshots:

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

I like client side charts because you can get full page plotting.

A good options seems to be Jquery Flot : http://code.google.com/p/flot/ which can load JSON data. However, you won't get pdf support.

Perhaps you might want to have a look here: Django Plotting app. The HowTo describes how to embed matplotlib plots into the admin interface and create a PDF view.

I have used FusionCharts Free with Django.

Its flash based, open source, multi-licensed and it's well documented. It's ActionScript 1, but AS version wasn't really a criteria for me, though it could be for others.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top