I'm creating a web application on Google App Engine for fun and I'd like to include graphs so users can see some stats. Are there any free (either as in beer or speech) JavaScript libraries that can take a table or make some AJAX call and display a graph?

+7  A: 

Check out Google Charts

+13  A: 

Flot can create some really nice looking charts. It's a JavaScript library rather than a service like Google Charts. It does require jQuery though.

Flot is what stackoverflow uses for the reputation graph on your profile page.
GFlot ( is a pretty good wrapper if you're using GWT
Steve Armstrong
+1  A: 

If you use jquery:


DojoX is an option


For the YUI users:

+2  A: 

10 JavaScript Graphing/Charting Libraries

+2  A: 

I noticed that a few people mentioned Flot but nobody mentioned Flotr! Also on Google Code

Check a JSON example, complete with the code to do it, right here.

It requires the Prototype.js Javascript library and works in all modern browsers!

Joseph Pecoraro
+10  A: 

Here is my personal shortlist with comments:

  • Flot: +beautiful presets +very easy to use (the hardest was converting ISO datetimes to Javascript dates, which isn't hard at all) +uses jQuery - doesn't do pie charts, -looks a little bit abandoned but I could be wrong about that
  • Flotr: ++even prettier charts than Flot +-uses Prototype (which I've never worked with), -no pie charts either
  • YUI: +pie charts! + support and strong team & community -uses Flash, ugh -doesn't handle time axes as nicely as Flot
  • Google charts API (not a JS library): +support & community +pretty, too -really tedious construction of the REST URLs for any more complex graph -no automatic date/time axis support

In a nutshell, for tiny little simple graphs I'd use the Google charts API, but for my current project (an internal reporting tool) it'll likely be Flot, though if it was client-facing code I'd probably either look further or give Flotr/Prototype a try.

flot is definitely not abandoned. it's still in active development.
Dan Wolchonok
I'm glad to hear that!
why does 'uses jQuery' get a '+' and 'uses Prototype' get a '+-'?
Thorpe Obazee
+5  A: 
+1  A: 

Highcharts looks really impressive. It's based on jQuery or Mootools.