I'm building a Django app and I'd like to use a javascript library for the charts, is it the best way to put graphics in django aplications?. I need simple types of charts: pie and bar(with negatives).<p>I began to use jqplot but I'm having some problems with some options.<p>I'd like to find a library with pretty nice and colorful charts and compatible with the majority of the principal browsers(ie,firefox,chrome).
At New Relic, we use HighCharts (<a href="http://highcharts.com/" rel="nofollow">http://highcharts.com/</a>). We constantly get questions from our customers about which library we use, because they like the way they look and function. Highly recommended.
We use Flot currently, but we're looking at purchasing a license for Emprise. Specifically, they offer candlestick charts, which are difficult to find elsewhere, yet absolutely critical in expressing the volatility of series data.<p><a href="http://www.ejschart.com/" rel="nofollow">http://www.ejschart.com/</a><p>IMO, candlestick charts are way underutilized. Take application response time graphs for example. Most reporting suites rely on moving averages. If your application can have an acceptable average response time, but still have a high level of deviation. Let's say you have an app where, on average, one out of six requests is an entire order of magnitude slower than other requests:<p><pre><code> # Ruby code where r is response in ms
r = [
100,
100,
100,
100,
100,
1000
]
r.inject{ |sum, ms| sum + ms }.to_f / r.size # => 250
</code></pre>
So my average response time is 250ms, which I may consider acceptable, yet some responses are taking 1000ms, which I wouldn't consider acceptable. With a simple line chart, I wouldn't see the significant deviation. With a chandlestick chart, the upper boundary would be blindinly obvious.
This one is pretty fun: <a href="http://danvk.org/dygraphs/" rel="nofollow">http://danvk.org/dygraphs/</a> - the best part IMO is that the charts are interactive.
Flot is worth a shot. There may be a python library to generate is server side. When I looked into it, I kept going back and forth between javascript charts vs images. I ended up going with images because I didn't really need dynamic charts. There were also features missing from many. IIRC, Flot couldn't add a title to the x/y axis at the time I was looking at it.
I'm the author of Grafico, A Raphaël (js based SVG/VML) charting library with a focus on proper charts (per Stephen Few/Tufte) Check it out here: <a href="http://grafico.kilianvalkhof.com/" rel="nofollow">http://grafico.kilianvalkhof.com/</a> and this page has a lot of examples: <a href="http://grafico.kilianvalkhof.com/documentation/index.html" rel="nofollow">http://grafico.kilianvalkhof.com/documentation/index.html</a><p>It doesn't have pie charts, because pie charts are a tremendously bad way to visualise data. I have barcharts with negatives though :)
Have you checked out ZingChart? Transparency: I'm on the team.<p>Zing renders both Flash and HTML5 Canvas charts. Compatible and customizable + interactive API.<p>For your consideration:
<a href="http://www.zingchart.com" rel="nofollow">http://www.zingchart.com</a>
<a href="http://www.zingchart.com/flash-and-html5-canvas/" rel="nofollow">http://www.zingchart.com/flash-and-html5-canvas/</a><p>Shoot me questions at abegin@zingchart.com or <a href="http://www.twitter.com/zingchart" rel="nofollow">http://www.twitter.com/zingchart</a> (Andrew)
Having used graphael (really the only graphing library I've used), I can say that I like it, but I don't <i>love</i> it. I like how the charts looks far more than any of the other graphing/charting libraries, except for maybe highcharts. Imo, one of the key features that sets graphael and highcharts apart from the rest (especially the Stanford library, which looked very nice, except for this one feature) is interactivity. I think being able to mouse over the data points and get more detailed information is a massive leg up. From an end-user perspective, this interactivity is what @briandoll referred to as "function", in addition to the "look", which in this case, is great for both of these libraries.<p>- $0.02
I recently used Django to implemented sales reporting and analysis service for sales organization of a few hundred people.<p>For charts, I've used flot and it's been so far adequate for my needs (timeseries and some bar charts). I personally prefer more Tufte-like charts than the default flot style, but the customer has been delighted of flot's style.<p>By the way, forget pie charts, they are a bad idea. Use e.g. a simple bar chart instead.<p>To quote Tufte: “The only worse design than a pie chart is several of them, for then the viewer is asked to compare quantities in spatial disarray both within and between pieces.”
We use <a href="http://www.fusioncharts.com/" rel="nofollow">http://www.fusioncharts.com/</a> on CashBase (<a href="http://www.cashbasehq.com/" rel="nofollow">http://www.cashbasehq.com/</a>).
It has a JS API but also libraries for most backend languages.<p>I found it super easy to use after experimenting with Google Charts and jqPlot.<p>The way a chart looks in FusionCharts is 100% fully customizable.
See also historical recommendations:
<a href="http://news.ycombinator.com/item?id=1465816" rel="nofollow">http://news.ycombinator.com/item?id=1465816</a>
<a href="http://news.ycombinator.com/item?id=580073" rel="nofollow">http://news.ycombinator.com/item?id=580073</a>
Since you're already using jquery, try flot, <a href="http://code.google.com/p/flot/" rel="nofollow">http://code.google.com/p/flot/</a>. It has a simple api, good documentation, pretty extensible and works in all browsers (with google's excanvas script for ie).
I have long found this gentleman's libraries to be visually appealing, easy to integrate and generally top notch:<p><a href="http://www.maani.us/charts/index.php" rel="nofollow">http://www.maani.us/charts/index.php</a><p>However, they are XML configured flash.
Google's visualization apis are amazing, cant recommend it enough. The chart ones are nice but you then also have to wrap it yourself to generate the GET request appropriately to the data.
As an encore, does anybody know about a library that lets you modify charts in realtime? I would like to have basic pie charts, where I could resize partitions, add and remove.
I was working on a Django app a few months ago that required a lot of chart features. I was impressed with how easy sparklines is to use but for some larger charts I used flot.
I have used Visifire[1] -- it's very good and easy but it's silverlight.<p>-----<p>[1]: <a href="http://www.visifire.com/" rel="nofollow">http://www.visifire.com/</a>
I've only surveyed what's out there a little, but I am impressed with Protovis's demos and apparent flexibility: <a href="http://vis.stanford.edu/protovis/" rel="nofollow">http://vis.stanford.edu/protovis/</a>