Having asked this same exact question before my answers, as some have mentioned below, are RaphaelJs and JqPlot. That said I am also looking into D3 which is also mentioned below. RaphaelJs has a number of controls based on it such as JustGage animated gauges(not by me but I have used it), and JqPlot which is highly configurable and seems to "just work".
d3 is amazing. There is no doubt about it. If you have a decent amount of time then perhaps you can start with this http://christopheviau.com/d3_tutorial/
Other than this, i have previously worked with Rickshaw(http://code.shutterstock.com/rickshaw/) as well. Although, i found it incredibly easy to implement, i personally find it a little poorly documented and found less resources and difficult to modify and play around.
With HTML5 canvas, be sure to check out the new ChartJS (http://www.chartjs.org/).
Take a look at http://www.highcharts.com/ too. I used highcharts a few weeks ago for an project in my company and I found it pretty simple to use. D3 does look interesting but I didn't have the time to learn it, with highcharts it seemed quicker for me to implement some graphs and get my project over with.
9 comments
[ 6.3 ms ] story [ 34.5 ms ] threadA more simpler & easily configurable option is definitely RaphaelJS (http://raphaeljs.com/). Be sure to check out g.Raphael as well (http://g.raphaeljs.com/).
Other than this, i have previously worked with Rickshaw(http://code.shutterstock.com/rickshaw/) as well. Although, i found it incredibly easy to implement, i personally find it a little poorly documented and found less resources and difficult to modify and play around. With HTML5 canvas, be sure to check out the new ChartJS (http://www.chartjs.org/).
If in case, you are ready to shell out then HighCharts(http://www.highcharts.com/) and perhaps FusionCharts(http://www.fusioncharts.com/) are the way to go. Personally, i think i would go with Raphael.